C 언어인 경우 ISO C 표준(C99)에 의해, __func__을 제공합니다. 또 이 것은 매크로가 아닌 identifier입니다. 문자열 상수 이름 정도로 보시면 됩니다. C FAQ 10.27 참고.
C++ 언어인 경우, 현재 함수 이름을 얻어내는 표준 방법은 없습니다.
GCC의 경우, __FUNCTION__이라는 identnfier를 제공합니다. 이는 C/C++ 상관없이 동작합니다. (C언어인 경우 __func__와 같습니다)
또 __PRETTY_FUNCTION__이라는 identifier도 제공하는데, C 언어에서는 __FUNCTION__과 같이 함수 이름을 알려주고, C++에서는 클래스 이름, 리턴 타입, 클래스 이름과 인자 리스트를 다 보여줍니다. 즉 함수 원형(prototype)을 보여줍니다.
__func__ 혹은 __FUNCTION__ 아닌가요?
__func__ 혹은 __FUNCTION__ 아닌가요?
----
jai guru deva om...
오홀~ 이런게 있었군요~~ ^^좋은거 하나 배웠습니다.
오홀~ 이런게 있었군요~~ ^^
좋은거 하나 배웠습니다.
----------------------------------------------
한번뿐인 인생....
미친듯이 살아보자!
----------------------------------------------
언어에 따라 다릅니다.C 언어인 경우 ISO C 표준(C99)에
언어에 따라 다릅니다.
C 언어인 경우 ISO C 표준(C99)에 의해, __func__을 제공합니다. 또 이 것은 매크로가 아닌 identifier입니다. 문자열 상수 이름 정도로 보시면 됩니다.
C FAQ 10.27 참고.
C++ 언어인 경우, 현재 함수 이름을 얻어내는 표준 방법은 없습니다.
GCC의 경우, __FUNCTION__이라는 identnfier를 제공합니다. 이는 C/C++ 상관없이 동작합니다. (C언어인 경우 __func__와 같습니다)
또 __PRETTY_FUNCTION__이라는 identifier도 제공하는데, C 언어에서는 __FUNCTION__과 같이 함수 이름을 알려주고, C++에서는 클래스 이름, 리턴 타입, 클래스 이름과 인자 리스트를 다 보여줍니다. 즉 함수 원형(prototype)을 보여줍니다.
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
Korean Ver: http://cinsk.github.io/cfaqs/
댓글 달기