かなり長くて紛らわしいリンク エラーが表示されます。それを Web サイトのテキスト ボックスに貼り付けて、名前をバラバラにしておけばよかったと思います。
そのようなサービスを知っている人はいますか?
私はそのようなオンラインサービスを作成しました:https://demangler.com
これは gcc c++ シンボル デマングラーです。スタック トレースまたは nm の出力をテキスト ボックスにコピーするだけで、名前がデマングルされた出力が返されます。
@Update: MSVC および Java シンボルもデマングルするようになりました。
これは少し遅いかもしれませんが、この質問に基づいて作成しました。私が試した入力で動作し、__cxa_demangle と __unDName を介して g++ と msvc++ をサポートし、Emscripten を介して Javascript にコンパイルされます。これが誰かに役立つことを願っています: c++filtjs
編集:エスケープの問題を修正
ほとんどの (すべてではないにしても) C++ コンパイラには、c++filt
明らかに探しているものを正確に実行するツールが付属しています。
マウスクリックでそれが必要な場合は... GUIを書いてください;)
2 つのコピー アンド ペースト オンライン ソリューションがあります。
GCC と Clang のサポートのみが必要な場合は、おそらく最も用途の広いオンライン C++ コンパイラであるColiruを使用するオプションもあります。
これは、切り取り、貼り付け、クリックほど単純ではありませんが、それほど難しくはありません。上記のように、テンプレート パラメータに問題はないようです。コマンドラインを変更して、次のように実行するだけです。
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)
^^^^^^^^^^^
参考までに、Borland/MS/何でもマングルされた名前をデマングルするための Ruby gem もあります: unmangler