問題タブ [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.
symbols - nm コマンドに相当する Microsoft
私は長い間、.lib シンボルのデバッグのすべてのニーズに cygwin の nm コマンドを使用してきましたが、最近、SO の回答でそれを参照することを考え、ほとんどの Windows 開発者が cygwin をインストールしていないことに気付きました。
では、Microsoft が nm に相当するものは何ですか?つまり、.lib ファイルによってエクスポートされたシンボル、.lib 内の未定義のシンボルなどを一覧表示するコマンドは何ですか?
興味のある方のために、サンプルの nm man ページはhereです。
mingw - mingw-32 リンク プログラムの __imp__malloc とは何ですか?
malloc()
クロスコンパイルされた mingw32 プログラムがスレッドセーフかどうかを判断するために、バイナリで実行しnm
ました。結果:
GetLastError
比較のために、私のプログラムで使用されているが定義されていないの検索を次に示します。
そして、ここに私のプログラムにあることがわかっているものを検索します:
これは、私の C ライブラリでは、システムのカバーとしてそのまま提供されていることを意味すると思いますが、それはシステムには表示されません。しかし、私はセカンドオピニオンが欲しいです。malloc()
malloc()
GetLastError()
ends_with()
ありがとう!
c++ - ライブラリ間の依存関係を判断する方法は?
私のプロジェクトは、いくつかの静的ライブラリで構成されており、最終ステップでリンクされています。ライブラリのリンク順序が重要であるという問題があります(そうしないと、未定義のシンボルリンカエラーが発生します)。リンクされたライブラリ (-lcommon -lsetup -lcontrol など) を再ソートする必要があるという問題が発生することがあります。現時点では、再ソート、コンパイル、エラーのチェック、再ソート、コンパイルなどの愚かな試行錯誤です。
そこで、ライブラリ間の依存関係を示し、リンクするライブラリの順序を生成する小さなプログラムを作成しました。nmから定義済み ('T'、'B' など) および未定義のシンボル ('U') を読み込み、弱いシンボル('w'、'W'、'v'、'V')をnmから削除します。 「未定義のシンボル リスト」。現在、未定義のシンボルごとに、それを解決するライブラリを決定します。
しかし、私のプログラムは循環依存関係を示しています...私の間違いは何ですか?
それらが本当に存在する場合、私はまったくリンクできませんでした...それで、nm出力を分析するときに何が欠けていましたか? または、これらの依存関係を取得するために nm 出力を分析する方法はありませんか?
php - PHP&MySQL で an:m リレーションを正しく処理するには?
私は3つのテーブルを持っています:
今、そのテーブルで SQL クエリを実行しています (もちろん、結合を使用して)。そして、PHPで受け取るのはsth. そのように:
さて、私の PHP-Array には、同じ「search_param」と「id」が複数回あります。それを画面に印刷するのは面倒です。それを避けるために「id」でデータをグループ化することもできますが、利用可能な「置換」値は 1 つしかありません。
私が探しているのは、次のような結果です。
私が知りたいこと: クエリを修正するだけで、私のテーブル構造でそれは可能ですか? または、PHPコードでそれを気にする必要がありますか?もしそうなら:最善の方法を教えてください。たくさんのデータがあります... テーブル構造は正しいですか? データベースに関しては、まだ少し確信が持てません...
よろしくお願いします。
ios - スタティック ライブラリの外部名ディレクトリにシンボルを追加する
otool
特定のスタティック ライブラリによって生成されるシンボル リストとnm
、特定のスタティック ライブラリ用に生成されるシンボル リストの違いに混乱しています。いくつかの静的ライブラリをリンクして最終的な実行可能ファイルを作成しようとしていますが、リンカーはUndefined symbols: "_main", referenced from: _main$non_lazy_ptr in crt1.o
. nm
ライブラリ ( ) の 1 つを実行すると、それが というファイルで定義されているlibext.a
ことがわかります。しかし、同じライブラリで実行すると、アーカイブのセクションに存在しないことがわかります。このセクションに強制的に含まれるようにするにはどうすればよいですか? ライブラリで行うことは役に立ちません。_main
main.o
otool-s
_main
__.SYMDEF
_main
ranlib -c
windows - Windows で nm に代わるものはありますか?
Linux ツールnmと同様に、Windows でオブジェクト ファイルを調べたいと考えています。これは可能ですか?
c - nmコマンドの出力にある奇妙なシンボル名
InterfaceLayer.soという動的ライブラリを作成しました。私が電話するとき:
出力として、次のようなシンボルが表示されます。
コードで定義した関数の名前と同じように、 「 start 」であると期待していました。
なぜこれが起こるのですか?
c - Mac OS X のダイナミック ライブラリ内のシンボルをプログラムで列挙する
Mac OS X の dylib からエクスポートされたシンボルとそのアドレスを列挙する方法が必要です。
これに通常使用するシェルからnm
-提供するものと同じものを取得するためにコードから使用できるライブラリはありnm
ますか? Windows の dbghelp API に似ています。
最後の手段として、出力を生成して解析できると思いますnm
が、よりクリーンな方法がある場合はこれを避けたいと思っています。
c++ - 抽象クラスにshared_ptrを使用する場合、nmまたはobjdumpで関数シンボルを見つける方法は?
抽象クラス ABC に shared_ptr を使用します。ABCImpl クラスは ABC の実装です。abc_ptr は、ABCImpl オブジェクトを指す shared_ptr< ABC> です。呼び出し元関数では、abc_ptr は ABC クラスのメンバー関数 (func_in_ABC) の 1 つを呼び出します。コンパイルは成功です。しかし、nm や objdump を使用すると、abc_ptr のシンボルしか表示されませんでした。呼び出し元関数の func_in_ABC() に対して表示されるシンボルはありません。
呼び出し元関数で func_in_ABC() のシンボルの出力を取得する理由、または方法を知っている人はいますか?
コードは次のとおりです。 ABC.h:
ABCImpl.h で:
ABCImpl.cpp で:
呼び出し元関数 D.cpp:
nm からの Do の出力:
ABC.h の func_in_ABC の定義を変更すると、D.cpp のコンパイルが失敗します。Do をコンパイルするときに、クラス ABC の定義をチェックすると思います。
binutils - nmとobjdumpの違い
マニュアルを見て、objdump
重複nm
する機能があります。
それぞれをいつ使用しますか?各コマンドの本来の目的は何でしたか?