Raf*_*sta 126
我创建了这样一个在线服务: http://demangler.com
这是一个gcc c ++符号demangler.您只需将堆栈跟踪或nm的输出复制到文本框中,它将返回名称为demangled的输出.
@Update:它现在也解析了MSVC和Java符号.
nat*_*nds 103
这可能有点晚了,但我根据这个问题创建了一个.它适用于我尝试的输入,通过__cxa_demangle和__unDName支持g ++和msvc ++,通过Emscripten编译为Javascript.希望这有助于某人:c ++ filtjs
编辑:修复了转义问题
Dum*_*001 22
大多数(如果不是全部)C++编译器都附带了一个c++filt工具,它可以完全满足您的需求.
如果你想在鼠标点击它...好吧为它写一个GUI;)
有两个复制粘贴在线解决方案:
如果您只需要支持GCC和Clang,您还可以选择使用Coliru,它可能是最通用的在线C++编译器.
这不像剪切,粘贴和点击那么简单 - 但不是太难 - 而且看起来模板参数没有问题,如上所述.你只需要修改命令行来运行这样的事情:
cat main.cpp | c++filt -t
Run Code Online (Sandbox Code Playgroud)
_Z6kernelIfLj3EEvPT_5arrayIPKS0_XT0_EES5_S2_IjXT0_EES6_S0_
Run Code Online (Sandbox Code Playgroud)
至:
void kernel<float, 3u>(float*, array<float const*, 3u>, array<float const*, 3u>, array<unsigned int, 3u>, array<unsigned int, 3u>, float)
^^^^^^^^^^^
Run Code Online (Sandbox Code Playgroud)