問題タブ [nm]
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++ - Listing external variables in cpp file
External variables are not listed by "nm" command because they have been declared as extern so memory for them will not be allocated in this program. Is there any other way to list extern variables? Where stored information about external variables declaration?
os windows 7 compiler mingw or vs2010
c - シンボルの重複とアプリケーションのクラッシュ
AIXでプログラムをコンパイルしています。正常にコンパイルされますが、次の警告が表示されます。
「common.o」ファイルで見つけたこの記号を見つけようとしました。
しかし、実行可能ファイルでこのシンボルを見つけると、次のことがわかります。
このシンボルを含むライブラリ名を表示できますか?
このシンボルは私のソースファイルに存在しますか?(ばかげているように聞こえるかもしれませんが、私は本当に知りません)
私は、この質問に対する答えを、ソースで追跡できることを見つけました。
- この警告を削除するには、どのような手順を実行する必要がありますか?また、この重複したシンボルはアプリケーションのクラッシュを引き起こす可能性がありますか?私の場合、それはクラッシュしています。
c - リンク エラー - nm を使用して修正します
nmUnix でコマンドを使用して修正することになっているリンク エラーがあります。
次のリンク エラーが発生した場合: 、そのオブジェクト ファイルでundefined reference to 'program_name'実行すると、シンボルはシンボル テーブルに次のように表示されます: 。nmprogram_nameU program_name
program_nameは未定義であり、元のオブジェクト ファイルに含める必要がある別のオブジェクト ファイルで定義されています。私の質問は、それがどのオブジェクトファイルであるかをどのように見つけることができますか? それは可能ですか?ディレクトリにたくさんのオブジェクト ファイルがあり、そのうちの 1 つになります。それらすべてを試すには多すぎます。
c - 拡張子が.oの静的ライブラリからファイル名を一覧表示する方法
私は2つのcプログラムファイルtemp1.cとを持っていますtemp2.c。私はこれとのためdot oにファイルをコンパイルして生成しました。その後、これら2つのファイルを組み合わせて生成しました。現在、これら2つの静的ライブラリは正常に機能しています。temp1.otemp2.ofinal.ofinal.adot o
これで、nmレポートfinal.aはすべてのファイル名と記号を表示しています。しかし、のnmレポートはfinal.oファイル名を表示せず、記号のみを表示します。
作成に使用したファイル名のリストを取得する方法は何ですかfinal.o。
unix - ライブラリ依存のためのツール
およびファイルの依存関係を検出するためのtool/ commandonUnixプラットフォームを探しています。library.so.o
私はすでに//を使用しましたlddがnm、trussライブラリの依存関係を検出するための適切なアプローチがわかりません。
unix - ICU ライブラリが壊れていませんか?
nm –uICU ライブラリの次の出力が得られます。このライブラリが壊れているということですか? このライブラリを使用している間、一部のコードは実行を完了するのに 20 分かかります。このライブラリが破損しているためだと思われますが、よくわかりません。
linux - コンパイルされたファイルからすべてのグローバル変数を取得します (Linux)。const から static を分離する方法は?
だから、私はここで本当に奇妙なことをしています。
たとえば、2 つの .cpp ファイルがあり、そのうちの 1 つに
そして2番目のもの
どちらのフラグメントもグローバル変数セクションにあります。グローバル静的変数 (たとえば) を出力する必要がありますが、定数は無視します。出力では、nmそれらは完全に同一に見えます (すべてのケースで b タイプ、つまり初期化されていないローカル スコープ シンボルを意味します)。Linux ユーティリティのみを使用して、このケースを自動的に分離する方法はありますか (grep、regexps などは完全に問題ありません)。
c - nmレポートでシンボルの変更を確認する簡単な方法
Susegccコンパイラを使用してライブラリ (C プログラミング) をコンパイルし、nmそのライブラリのレポートを生成しています。その nm レポートを以前のバージョンのライブラリと比較して、現在のバージョンのライブラリに存在するシンボルと存在しないシンボルを確認する必要があります。
今、私はいくつかのテキスト比較ツールnm_0.1.txtでファイルを比較しています。nm_0.2.txtそのシンボルの違いに加えて、オフセットの違いも得ています。オフセットの違いは気にしません。
簡単な方法で nm レポートのシンボルの違いのみを強調表示するために使用できるコマンド (Windows または Suse) はありますか。
注 : 生成された nm レポートは非常に大きくなります。そのテキスト ファイルを手動で開き、何らかのツールを使用してその nm レポートの最初の列を削除することは、その大きな nm ファイルにとって簡単な作業ではありません。
macos - 共有ライブラリのエクスポートされたシンボルへの関数パラメータを決定する方法はありますか?
共有ライブラリのエクスポートされたシンボルへの関数パラメータを決定する方法はありますか? 好奇心のためにプライベート OSX フレームワークを調査しています (Apple ストアのポリシーなどは知っています)。nm -g /path/to/library を実行して、エクスポートされたすべてのシンボルを特定できますが、これらの呼び出しに渡す必要があるパラメーターを特定することに興味があります。
segmentation-fault - リンクに問題があるため、プログラムが実行されていません
バイナリの実行に問題があります。プログラムがセグメンテーション違反を受信しています。フィルタリングは gdb の出力です
次に、nmユーティリティを使用しました
多くのシンボルが未定義であることがわかりました。この a.out バイナリは、実際には他の多くの .so をリンクすることによって取得されます。.soの1つでnmを実行しました
このプログラムは、上記の libmylib.so とリンクされています。リンク中にエラーは発生しません。
ただし、-shared オプションがないと、次のエラーが発生します。
何が問題なのですか?これを克服する方法を教えてもらえますか?前もって感謝します