: 제목 그대로 입니다.
: 리눅스환경에서 C프로그래밍의 디버깅 공부를 하는 도중에 아래처럼
: 간단한 매크로를 쓴 프로그램을 컴파일 했더니 에러가 뜨는데 무신 소린지
: 모르겠습니다.
: 컴파일러가 매크로를 이해못하겠다는 뜻인것으로 추측은 됩니다만....
:
: 에러메세지의 뜻과 해결책을 갈켜주시면 좋겠습니다.
: 아니면 참고자료의 위치만이라도...
:
: ##############Source#########################
: #include <stdio.h>
:
: #define TRACE printf("%s @ %u",_ _FILE_ _,_ _LINE_ _)
^^^^^^^^^^^^^^^^^^^^^^^
이부분에서 문제가 있는거 같습니다.
__FILE__ 하고 __LINE__ 아닌가요?
:
: int main(int argc, char *argv<>) {
: int x;
:
: TRACE;
: for ( x= 0; x<argc; ++x) {
: TRACE;
: printf("argv[%d] = '%s'", x, argv[x]);
: }
: TRACE;
: return 0;
: }
: #############################################
:
:
: ############Compile############################
: [ninetwo@c trace]$ ggcc trace.c -o trace
: trace.c: In function `main':
: trace.c:8: `_' undeclared (first use in this function)
: trace.c:8: (Each undeclared identifier is reported only once
: trace.c:8: for each function it appears in.)
: trace.c:8: parse error before `_FILE_'
: trace.c:10: parse error before `_FILE_'
: trace.c:13: parse error before `_FILE_'
: [ninetwo@c trace]$
:
: ##############################################
:
: --
: 홈페이지 www.chungnyul.com