Могу ли я программно удалить символ в C++/GCC/Ubuntu?

Когда я компилирую это (CppUnit) выражение в GCC/Ubuntu

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

Значение wcsdesign::tests::ConduitTestFixture заканчивает быть строгим N9wcsdesign5tests18ConduitTestFixtureE,

Есть ли способ, которым я могу программно получить исходную строку "wcsdesign:: tests:: ConduitTestFixture", учитывая "N9wcsdesign5tests18ConduitTestFixtureE"?

1 ответ

Prepend _Z на символ, прежде чем передать его abi::__cxa_demangle, Тогда вы получите исходную строку обратно.

Другие вопросы по тегам