私はかなり長くて紛らわしいリンクエラーを受け取っています。それをいくつかのウェブサイトのテキストボックスに貼り付けて、名前を混乱させないようにしてください。
誰もがそのようなサービスを知っていますか?
このようなオンラインサービスを作成しました: http://demangler.com
これはgcc c ++シンボルデマングラーです。スタックトレースまたはnmの出力をテキストボックスにコピーするだけで、名前が分解された出力が返されます。
@Update:MSVCおよびJavaシンボルもデマングルします。
これは少し遅いかもしれませんが、この質問に基づいて作成しました。私が試した入力で動作し、Emscriptenを介してJavascriptにコンパイルされた__cxa_demangleと__unDNameを介してg ++とmsvc ++をサポートします。これが誰かを助けることを願っています: c ++ filtjs
編集:エスケープの問題を修正
ほとんどの(すべてではないにしても)C++コンパイラには、c++filt
明らかに探していることを正確に行うツール。
あなたがマウスクリックでそれをしたい場合...それのためのGUIをよく書いてください;)
2つのコピーアンドペーストオンラインソリューションがあります。
GCCとClangのサポートのみが必要な場合は、 Colir を使用するオプションもあります。これはおそらく最も用途の広い オンラインC++コンパイラ です。
これは、切り取り、貼り付け、クリックほど単純ではありませんが、それほど難しくありません。また、上記のようにテンプレートパラメータに問題はないようです。次のようなコマンドを実行するには、コマンドラインを変更するだけです。
cat main.cpp | c++filt -t
この例で実際にご覧ください どれがデマングルしますか:
_Z6kernelIfLj3EEvPT_5arrayIPKS0_XT0_EES5_S2_IjXT0_EES6_S0_
に:
void kernel<float, 3u>(float*, array<float const*, 3u>, array<float const*, 3u>, array<unsigned int, 3u>, array<unsigned int, 3u>, float)
^^^^^^^^^^^
参考までに、Ruby Borland/MS /マングルされた名前を解読するためのgem: nmangler