[C/C++] 함수 이름 얻는 방법
현재 함수의 이름을 구하는 방법으로, C99에서 __func__라는 이름을 제공한다. 매크로는 아니고 미리 정의된 이름이다.
GCC의 경우에는 __func__과 __FUNCTION__을 사용할 수 있다. __FUNCTION__의 경우에는 매크로에 해당된다.
C와 C++에서 동일하게 사용할 수 있다.
개인적으로는 프로그램 작성 시에, 각 함수 시작부분에
#ifdef VERBOSE cout << "this_function_name(num=" << num << ")" << endl; cout.flush(); #endif // VERBOSE
과 같이 함수의 이름과 parameter의 값을 보여주는 디버그 코드를 심는 작업을 잊지 않는 편이다. __func__를 잘 활용하면 직접 함수의 이름을 hard-code하는 수고를 덜게 될 것이다.