問題タブ [c++filt]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - STL 対応の c++filt を探しています
私の開発環境では、GNU C++ 3.4.6 を使用してコード ベースをコンパイルしています。コードは開発中であり、残念ながら時々クラッシュします。デマングラーを介してトレースバックを実行できるのは素晴らしいことです。私は c++filt 3.4 を使用しています。問題は、関数に多数の STL パラメータがある場合に発生します。検討
この関数がトレースバックにある場合、私のプラットフォームでの破損した出力は次のようになります。
c++filt は親切にデマングルします
これは、テンプレートの使用時に発生するコンパイラ エラーと同じ問題です。ただし、STL はかなり規則的で認識可能なテンプレートのパッケージです。だから私が望んでいるのは、誰かが元の関数シグネチャに近いものをダンプする c++filt の拡張バージョンを作成したことです。ヒントはありますか?
macos - Mac 10.5 での C++ 名の解読
問題をデバッグするために、さまざまな時点でアプリのスタック トレースを出力していますが、C++ 関数のシンボル名がまだ壊れていることを除けば、問題なく動作します。Linux では、c++filt を使用して読みやすいものに変換します... Mac では... 動作しませんか?!?!
man ページで提供されている例でさえ機能しません。何を与える?
c++ - c++filt の使い方
重複の可能性:
GCC の RTTI 名を文字化けできますか?
私は gcc で code::blocks を使い始めました (もう VS2010 に耐えられませんでした)。全体的には満足していますが、gcc で確実にうまくいかないことの 1 つは、typeid を使用したい場合です。 m は正確な型名ではなく、いくつかの記号表記を取得します (なぜ? なぜ型名を使用できなかったのですか?) とにかく、c++filt がこの種の問題に役立つと聞いたことがありますが、今はどのようにすればよいかわかりませんそれを使用する (またはインストールします。ダウンロードする必要がありますか?)。
c++ - c++filt を使用して、デマングリングされた名前を .s ファイル自体に書き戻すことはできますか?
私はちょうど c++filt を学ぼうとしています.Web で利用できる十分な使用例がありません....
私はmain.cppファイルを書いていて、マシンコードを読み取ろうとしています....
デマングルされた値を見つける必要がある場合は、次を使用できます
例えば)
goo(int i)// という値が得られます。これは署名です。
現在の main.s ファイルをデマングルされた値に置き換える方法はありますか。たとえば、_Z3gooi
コンソールではなく、ファイル自体で goo(int i) としてデマングリングされます....
c++ - すべての C++ 名に対して c++filt を機能させるにはどうすればよいですか?
次のような標準 C++ ライブラリからいくつかの名前を解読しようとすると:
その後、多くの名前で動作します。ただし、次のように分解できない名前がいくつかあります。
c++filt は成功していないようです。最後の 2 つの名前が正しくデマングルされないのはなぜですか? また、それらをデマングルする方法は?
c - Linux sparc so ライブラリでの名前マングリング
私はいくつかの sparc ライブラリを持っており、実名を持つエクスポート関数のリストが必要です。objdump または nm を使用して、__1cEnameIcopyType6MpnIASN1CTXT_rnLAsn1TObject_4_v_
またはのような名前を取得__1cHsurname2t5B6M_v_
するので、c++filt はそれらをデマングルできません。nm が持っているすべてのスタイル (gnu、lucid、arm、hp、edg、gnu-v3、java、gnat) を試しましたが、結果は同じです。手伝っていただけませんか?
c++ - c++filt は typeid 名をデマングルしません
type_info::name を出力するために、GCC C++コンパイラでコードを実行しています。
しかし、次の結果が得られます。
そしてデマングルでは、
以前と同じ出力が得られます。他の解決策はありますか?
bash - awk の出力を c++filt コマンドで分析する
みなさん、良い一日を!インライン化された C++ 関数のリストを含むファイルがあります。それらを c++filt したい。しかし、リストのすべての関数が興味深いわけではないので、必要な関数を取得するために awk sript を使用します。
それで、問題は、ターミナルで「c++filt」と「awk」コマンドを組み合わせて、「c++filt」コマンドでawkスクリプトの出力を分析する方法ですか?すべての答えに感謝します
c++ - トリプルアンパサンド `&&&` は C++ で何を表していますか?
型名の後の single&
は左辺値参照を意味し、double&&
は右辺値参照または「推定参照」を意味し、Scott Meyers によってユニバーサル参照とも呼ばれることを理解しています。&&&
しかし、関数またはメソッドのシグネチャでトリプルを見たことはありません。それは何の略ですか?
次のコードは、 triple を使用してメソッドを生成します&&&
。
でコードをコンパイルした後g++-4.8.1
、 を実行しますnm -j a.out | c++filt
。スイッチは(私が信じている)非標準です。-j
つまり、シンボル名を表示するだけです(値やタイプはありません)。私はこれを得る:
でコンパイルすると、同様の出力が得られますclang++
。私の質問は、3 つのアンパサンドは何の略ですか? どうやら私は&&&
自分のコードに直接書くことはできません。c++filt
シンボルの解読が間違っているからですか? c++filt
Mac OS X 10.8 で提供されているシステムを使用しています。
mingw - mingw bin のディレクトリの c++fit が期待される結果を返せないのはなぜですか?
mingw bin のディレクトリの c++fit が正しい結果を返せないのはなぜですか?
しかし、CentOS システムでは、c++filt は正しい結果を返すことができます。
それを理解する方法は?