inet_ntoa 64bit 사용시 에러 대처방법
Language/C 2012. 2. 2. 12:4332비트에 컴파일할 때 문제가 없던 일들이..
64비트에서 일어난 경우 중 하나입니다.
inet_ntoa() 이 함수
컴파일 에러는 없지만.. 이 함수가 실행하는 시점에서 Segment fault 라는 메시지를 접하실겁니다.
해결방법은..
간단히 헤더에 한줄만 추가해주면됩니다.
#include <arpa/inet.h>
그리고 기존에 아래와 같이 코딩하고 계셨다면..
printf("%s ", inet_ntoa(ip->saddr));
아래와 같은 에러를 접하셨을겁니다.
error: incompatible type for argument 1 of ‘inet_ntoa’
간단히 해석해보면 inet_ntoa() 함수의 인자값이 잘못된다는 얘기입니다
아래와 같이 수정하시면 해결이 됩니다.
printf("%s ", inet_ntoa(*(struct in_addr *)&ip->saddr));
64비트에서 일어난 경우 중 하나입니다.
inet_ntoa() 이 함수
컴파일 에러는 없지만.. 이 함수가 실행하는 시점에서 Segment fault 라는 메시지를 접하실겁니다.
해결방법은..
간단히 헤더에 한줄만 추가해주면됩니다.
#include <arpa/inet.h>
그리고 기존에 아래와 같이 코딩하고 계셨다면..
printf("%s ", inet_ntoa(ip->saddr));
아래와 같은 에러를 접하셨을겁니다.
error: incompatible type for argument 1 of ‘inet_ntoa’
간단히 해석해보면 inet_ntoa() 함수의 인자값이 잘못된다는 얘기입니다
아래와 같이 수정하시면 해결이 됩니다.
printf("%s ", inet_ntoa(*(struct in_addr *)&ip->saddr));
'Language > C' 카테고리의 다른 글
bsearch() 함수 설명 및 알고리즘 (0) | 2012.03.09 |
---|---|
semget() 세마포어 생성 및 접근 (0) | 2012.02.02 |
FILE, fopen, fprintf, fflush, fclose (0) | 2012.01.30 |
multicast(receive) (0) | 2012.01.16 |
multicast(send) (0) | 2012.01.16 |