2010-07-16 7 views
5

Xin chào, tôi cần phải xác định tên bị xé của một hàm từ bên trong chính ứng dụng C++. Có tương đương với macro __FUNCDNAME__ trong g + + không?C++ nhận tên bị xáo trộn của một hàm/phương thức

+0

bản sao có thể có của [Tài liệu ở đâu trên Lược đồ Mangling tên Microsoft Visual Studio C++?] (Http://stackoverflow.com/questions/491115/where-is-documentation-on-the-microsoft-visual-studio- c-name-mangling-scheme) –

+3

Không trùng lặp với điều đó - anh ấy hỏi về cách thực hiện nó trong gcc. –

+0

Có, chỉ cần nhận thấy điều đó. Không phải là một bản sao, nhưng có thể liên quan. –

Trả lời

1

Để sử dụng tên bị gỡ rối __PRETTY_FUNCTION__.

Better là sử dụng:

#include <boost/current_function.hpp> 

BOOST_CURRENT_FUNCTION 

Điều này cho phép tên demangled. Tôi nhìn cxxabi.h nhưng dường như không có chức năng mangle. Bạn có thực sự muốn tên bị cắt xén không?