2010-08-11 55 views

回答

11

使用

__FUNCTION__ 
//or 
__PRETTY_FUNCTION__ 
+0

謝謝,它的作品:)它是非常有用的渲染功能,你不能用斷點調試很好 – Felics 2010-08-11 08:50:03

+0

這個宏是否與GCC以外的編譯器兼容? – Sampath 2017-03-13 07:47:14

+1

@Sampath,因爲它不是標準的,所以沒有保證,但它在Microsoft編譯器的msdn文檔中列出。所以我認爲它在大多數編譯器中都是支持的。但是,使用__func__可能會更好,因爲此宏是在標準中定義的,應該普遍支持。 – Vladimir 2017-03-13 14:39:32

10

或者,如果你想與即將要被(原文如此)的C++ 0x標準兼容,使用__func__,如果你的編譯器支持它(GCC做),這將便攜。

+2

或者,您希望在您編寫的每個函數之前與_current_標準兼容:'#ifdef MYFN','#undef MYFN','#endif','#define MYFN nameofmyfunction' :-) – paxdiablo 2010-08-11 08:53:08