2010-07-16 52 views
5

您好我需要從C++應用程序本身中確定函數的損壞名稱。 g ++中是否有與__FUNCDNAME__宏等價的東西?C++獲取函數/方法的損壞名稱

+0

可能有[Microsoft Visual Studio C++ Name Mangling Scheme的文檔在哪裏?](http://stackoverflow.com/questions/491115/where-is-documentation-on-the-microsoft-visual-studio- c-name-mangling-scheme) – 2010-07-16 06:59:30

+3

不是重複的 - 他問的是如何在gcc中做到這一點。 – 2010-07-16 07:04:44

+0

是的,只是注意到了這一點。不是重複的,但可能是相關的。 – 2010-07-16 07:05:14

回答

1

要獲取demangled名稱,請使用__PRETTY_FUNCTION__。

更好的方法是使用:

#include <boost/current_function.hpp> 

BOOST_CURRENT_FUNCTION 

這給demangled名。我看着cxxabi.h,但似乎沒有一個mangle函數。你真的想要這個傷痕累累的名字嗎?