현재 함수 이름 알아내기 위해...
글쓴이: hurryon / 작성시간: 화, 2003/09/09 - 5:09오후
현재 작동하고 있는 함수의 이름을 알아 내는 좋은 방법이 없을까요? 혹시나하고 내부 매크로명이 있을까해서 질문을 드립니다.
가령 다음과 같은 코드가 있다면...
void node_init()
{
node tmp;
int i;
for(i = 0; i < 10; i++)
{
tmp = (link *)malloc(sizeof(link));
if(tmp == NULL)
{
fprintf(stdout, "Out of memory, node_init\n");
exit(1);
}
else
{
tmp->index = i;
tmp->number = get_random();
printf("index: %2d number: %4d\n", tmp->index, tmp->number);
tmp->next = head;
head = tmp;
}
}
}
함수명을 알수 있는 방법이 있다면 에러 메세지을 출력할때 어떠한 함수에서 에러가 발생되었는지 일관성 있게 표현할수 있을거 같아서 말입니다. 냠냠...
Forums:


http://bbs.kldp.org/viewtopic.php?t=2149
http://bbs.kldp.org/viewtopic.php?t=21490
참고하세요
항상 웃는 얼굴 태욱이가..^_~
__PRETTY_FUNCTION__
assert.h 를 열어 봐도 재밌는 내용이 있습니다.
그 내용을 바탕으로 Test code를 만들어 보면..
#include <stdio.h> class TestClass { public: TestClass() { printf( "%s\n", __PRETTY_FUNCTION__ ); printf( "%s\n", __FUNCTION__ ); printf( "%s\n", __func__ ); printf( "\n" ); } ~TestClass() { printf( "%s\n", __PRETTY_FUNCTION__ ); printf( "%s\n", __FUNCTION__ ); printf( "%s\n", __func__ ); printf( "\n" ); } }; int main() { printf( "%s\n", __PRETTY_FUNCTION__ ); printf( "%s\n", __FUNCTION__ ); printf( "%s\n", __func__ ); printf( "\n" ); TestClass t; return 0; }c++를 사용한다면, GNU extention을 사용할 이유도 있습니다.
---
http://coolengineer.com
댓글 달기