[C] 구조체 크기와 실행오류와의 상관관계...
글쓴이: oldbell / 작성시간: 목, 2004/11/18 - 10:46오전
HEADER는
/* HEADER 구조체 : STX 는 빠짐 */ struct HEADER { char size[6]; char style[4]; ... char slug[81]; char body[MAXDATASIZE]; int bodySize; int seqno; char orgFileName[256]; char Path[256]; char areaName[10]; };
첫번째 코드struct HEADER a_header[1028];
두번째 코드struct HEADER a_header[10];
첫번째 코드는 컴파일후 실행하면 Segmentation fault 오류가 나고
두번째 코드는 오류가 나지 않습니다.
어떤 부분때문에 그런지 궁금합니다. ^^;
Forums:
printf("%d", sizeof a_header )를 해서 실
printf("%d", sizeof a_header )
를 해서 실제 크기가 어떻게 되는지 확인해보세요.
stack overflow가 일어 난것인지도 모릅니다.
---
http://coolengineer.com
[code:1]printf("%d", siz
결과 : 51144
입니다. ㅠ.ㅠ
인생의 무게를 느껴라. 아는 만큼 보이는게다.
그정도면 큰수가 아닌데 1024일때 그렇다는 것인가요?1024 라
그정도면 큰수가 아닌데 1024일때 그렇다는 것인가요?
1024 라면 크기의 문제가 아닌것 같습니다.
---
http://coolengineer.com
일단은 구조체자체의 Size의 크기를 줄여서 해결했습니다만, 51144
일단은 구조체자체의 Size의 크기를 줄여서 해결했습니다만, 51144 byte * 1024 (또는 2048)정도가 문제가 안될 것이라는 이야기 신지요?
-----
답변에 감사합니다.
ps : 호준... 나 헌종인뎅.. 기억할라나?
인생의 무게를 느껴라. 아는 만큼 보이는게다.
대충 계산해도 50M가 넘는군요. 십중팔구 스택 오버플로우입니다. 그 정
대충 계산해도 50M가 넘는군요. 십중팔구 스택 오버플로우입니다. 그 정도의
크기라면 동적 할당을 해야겠군요.
[quote="oldbell"]일단은 구조체자체의 Size의 크기를 줄여
아! 헌종 형님이시군요!
이야... 거의 5년된 듯..! 다른 얘기는 메시지로 할께요..
그리고 제 이름은 호진입니다. :)
---
http://coolengineer.com
댓글 달기