printf(__FUNCTION__" : aaaaaa\n");
이것과
printf("%s : aaaaaa\n",__FUNCTION__);
중에 어떤것이 맞는건가요??
그리고 둘다 맞는 사용법이라면
이 경우에 __FUNCTION__매크로 뒤에 ','이 쉼표를 넣는거랑 넣지 않는거랑 무슨 차이가 있나요??
그냥 아는데까지 설명드리겠습니다.
질문하신 내용은 __FUNCTION__ 매크로와 관련된 내용은 아닌 것 같습니다.
제가 알기로는 __FUNCTION__ 매크로는 스트링으로 확장되는 것으로 알고 있습니다.
즉, 다음과 같이 변환된다고 생각하시면 될 것 같습니다.
/* 원본 */ printf("%s function\n", __FUNCTION__); /* 변환후 */ printf("%s function\n", "main");
그리고 쉼표 문제가 질문하신 내용의 핵심이라고 생각하는데요..
쉼표로 분리되지 않은 스트링들은 컴파일과정에서 하나의 스트링으로 취급되어집니다.
즉, 다음과 같이 생각하시면 될 것 같습니다.
/* 원본 */ printf("%s\n", "aaaa" "bbbb" "cccc" "dddd" "eeee" "ffff" "\n"); /* 실제 컴파일되는 소스 */ printf("%s\n", "aaaabbbbccccddddeeeeffff\n");
의문점이 풀렸네요^^ 감사합니다^^
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
그냥 아는데까지
그냥 아는데까지 설명드리겠습니다.
질문하신 내용은 __FUNCTION__ 매크로와 관련된 내용은 아닌 것 같습니다.
제가 알기로는 __FUNCTION__ 매크로는 스트링으로 확장되는 것으로 알고 있습니다.
즉, 다음과 같이 변환된다고 생각하시면 될 것 같습니다.
그리고 쉼표 문제가 질문하신 내용의 핵심이라고 생각하는데요..
쉼표로 분리되지 않은 스트링들은 컴파일과정에서 하나의 스트링으로 취급되어집니다.
즉, 다음과 같이 생각하시면 될 것 같습니다.
감사합니다^^
의문점이 풀렸네요^^
감사합니다^^
댓글 달기