c++ - 我可以在 C++/GCC/Ubuntu 中以编程方式取消字符串化符号吗?

标签 c++ gcc cppunit

当我在 GCC/Ubuntu 下编译这个 (CppUnit) 表达式时

CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(wcsdesign::tests::ConduitTestFixture, "wcsdesign_Conduit");

wcsdesign::tests::ConduitTestFixture 最终被字符串化为 N9wcsdesign5tests18ConduitTestFixtureE

在给定“N9wcsdesign5tests18ConduitTestFixtureE”的情况下,我是否可以通过编程方式检索原始字符串“wcsdesign::tests::ConduitTestFixture”?

最佳答案

在将符号传递给 abi::__cxa_demangle 之前将 _Z 添加到符号中.然后你得到原来的字符串。

关于c++ - 我可以在 C++/GCC/Ubuntu 中以编程方式取消字符串化符号吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24501556/

相关文章:

c++ - VC++ 编译器/源字符集 :utf-8 doesn't work

c++ - 为什么gcc会有一个long long的警告?

c++ - 如何在 CppUnit 中漂亮地打印 STL 数据结构?

c++ - C++17中类模板的模板参数推导 : am I doing it wrong?

c++ - 我如何在这里使用 placement new ?

c++ - 我能否轻松移植 Qt 应用程序?

c - c 中的 sqrt() 方法(Netbeans 编译器与 gcc)

c++ - GCC6 中 undefined reference 为 'rt' ,'pthread' ,'stdc++fs'

c++ - 出于测试目的覆盖非虚函数

embedded - 一组一致且简单的IDE和用于C++的嵌入式代码和单元测试的工具?