_GNU_SOURCE 가 무엇입니까?
글쓴이: oliverlee / 작성시간: 화, 2013/07/09 - 1:42오후
대소문자를 구별하지 않고 문장을 비교하는 strcasestr 함수를 이용하고자 합니다.
리눅스(CentOS)에서 컴파일을 하는데
"implicit declaration of function" 이라는 에러 메시지가 뜸니다.
그래서 gcc 옵션에 -D _GNU_SOURCE 를 추가하니 잘 동작하네요
이때 "_GNU_SOURCE" 가 뭔지 궁금합니다.
괜히 이것을 넣어서 컴파일하면 다른 정상적으로 작동하던 것들이 잘 못 동작하거나 그러지 않는지 걱정되네요
Forums:
발생하신 문제가 strcasestr함수 때문이
발생하신 문제가 strcasestr함수 때문이 맞는지요??
#include
#include
int main (int argc, char *argv [])
{
char* str1 = "test message.....";
char* str2 = NULL;
str2 = (char*) strcasestr(str1, "ME");
if (str2 != NULL)
printf("Find[%s]\n", str2);
return 1;
}
gcc -g -o xx xxx.c
Find[message.....]
cat /etc/issue
CentOS release 4.9 (Final)
gcc -g -o xx xxx.c
Find[message.....]
cat /etc/issue
CentOS release 6.4 (Final)
제 질문은 _GNU_SOURCE에 관한 것입니다.
먼저 답변 감사합니다.
그런데 제 질문은 _GNU_SOURCE 가 무엇이냐는 것입니다
strcasestr 함수를 사용하는데 문제가 생겨서
gcc 옵션에 -d _GNU_SOURCE 를 넣어서 컴파일을 하니깐 문제는 해결되었는데,
혹시 이 옵션으로 인해 어떤 문제가 야기되는지 궁금해서 질문을 올렸습니다.
아래분이 좋은 답글을 달아주셨네요.^^ 질문하시는
아래분이 좋은 답글을 달아주셨네요.^^
질문하시는 의도는 이해 했습니다.
문제가 생긴 원인에 대해서 잘못 생각하시는거
아닌지 해서 확인차 말씀드린겁니다.
조금이라도 도움이 되시길 바라겠습니다.
수고하세요^^;
아래 설명이 도움이 될 것 같습니다.
http://stackoverflow.com/questions/5582211/what-does-define-gnu-source-imply
---------------------------------------------
git init
git add .
git commit -am "project init"
---------------------------------------------
댓글 달기