| [ CnUnix ] in KIDS 글 쓴 이(By): leehs (젠틀이) 날 짜 (Date): 2003년 7월 11일 금요일 오후 01시 41분 57초 제 목(Title): [Q] SUN에서 gcc 사용하여 컴파일시 질문 gcc를 이요하여 compile 시 segment error 가 발생합니다.. HEADER *hp; char *p; p = (HEADER *)buf; *((unsigned short*)p)++ = htons(T_A); *((unsigned short*)p)++ = htons(C_IN); *((unsigned int*)p)++ = htonl(expire); *((unsigned short*)p)++ = htons(4); *((unsigned int*)p)++ = addr; 여기서 *((unsigned short*)p)++ = htons(4); 부분이 alignment error가 발생하는것 같네요.. gdb로 잡아보면 Program received signal SIGSEGV, Segmentation fault. *((unsigned int*)p)++ = addr; 요케 나오네요.. 이럴때 alignment 맞추기 위해서 gcc option으로 무얼 줘야 하는지.. 아니면 코드를 수정하는게 나을지요.. 참고로 DNS로 메시지를 만들어 보려려고 하는 코드입니다. |