私が作成したライブラリを見るためにdumpbin/symbolsを使いました。機能によっては、UNDEFの出力では、の出力があります。どういう意味ですか?どんなリンクダンプビン出力の構造を研究するか?dumpbinを使ってC++ライブラリ情報を見たとき、UNDEFとnotype()は何を意味しますか?
1
A
答えて
5
我々はthe MSDN documentation for dumpbin /SYMBOLS
を見てとることができます。
このオプションは、COFFシンボルテーブルを表示します。シンボルテーブルはすべての オブジェクトファイルに存在します。 COFFシンボルテーブルは、 が/ DEBUGとリンクされている場合にのみイメージファイルに表示されます。
以下は、/ SYMBOLSの出力の説明です。追加の /SYMBOLS出力の意味に関する情報は、winnt.h(IMAGE_SYMBOLおよびIMAGE_AUX_SYMBOL)またはCOFFのマニュアルで を検索すると見つかります。次のサンプル・ダンプを考える
:
最初に:
Dump of file main.obj File Type: COFF OBJECT COFF SYMBOL TABLE 000 00000000 DEBUG notype Filename | .file main.cpp 002 000B1FDB ABS notype Static | @comp.id 003 00000000 SECT1 notype Static | .drectve Section length 26, #relocs 0, #linenums 0, checksum 722C964F 005 00000000 SECT2 notype Static | .text Section length 23, #relocs 1, #linenums 0, checksum 459FF65F, selection 1 (pick no duplicates) 007 00000000 SECT2 notype() External | _main 008 00000000 UNDEF notype() External | [email protected]@YAXXZ (void __cdecl MyDump(void)) String Table Size = 0x10 bytes Summary 26 .drectve 23 .text
以下の説明では、シンボル番号で始まる行については、 は、ユーザーに適切な情報を持っている列を示します3桁の数字はシンボルのインデックス/番号です。
3番目の列はSECTxが含まれている場合、シンボルがオブジェクトファイルの セクションで定義されています。しかしUNDEFが表示された場合、そのオブジェクトには で定義されておらず、別の場所で解決する必要があります。
第5列(静的、外部)シンボル だけ、そのオブジェクト内で表示されているかどうか、またはそれが(外部から見える )パブリックであるか否かを告げます。静的シンボル、_symは、公開_ シンボル_symにリンクされません。これらの関数は、 _symの2つの異なるインスタンスになります。
番号のついた行の最後の列はシンボル名で、 は装飾も装飾もされていません。
そしてnotype()
それは錫で言う、まさに意味:それは何のタイプを持っていません。
関連する問題
- 1. ライブラリのインストール時に-develとは何を意味しますか?
- 2. gitをソースからインストールするとき、この情報は何を意味しますか?
- 3. ldd -vのバージョン情報は何を意味していますか?
- 4. voidとint(*)intはCで何を意味しますか?
- 5. C++のパラメータ型と&&は何を意味しますか?
- 6. C++で「語彙」とは何を意味しますか?
- 7. このPHPライブラリの '\'は何を意味していますか?
- 8. .cと.hのファイル拡張子はCとは何を意味しますか?
- 9. CorFlagsによると、私の.NET-Programは64bitとして動作し、DumpBinは32bitを意味します。
- 10. 「ODRを使用する」とは何を意味しますか?
- 11. データベースのフラッシュは何を意味しますか?また、 "フラッシュ"と
- 12. 美味しいスープを使ってオブジェクトから情報を引き出すことができません4
- 13. [...]はPythonの出力として何を意味しますか?
- 14. PHPでは「:」とは何を意味していますか?
- 15. MirthはMirthとは何を意味していますか?
- 16. Perlでは "$$ q"とは何を意味していますか?
- 17. 「eは65537(0x10001)」とは何を意味していますか?
- 18. ANTでは「**」とは何を意味していますか?
- 19. 共有ライブラリを構築するときに-fPICとは何を意味しますか?
- 20. shで "$ {x %% *}"とは何を意味していますか?
- 21. javascriptで_(variable_name)とは何を意味していますか?
- 22. コマンドラインで「プログラム」とは何を意味していますか?
- 23. セマンティックバージョニングで「パブリックAPI」とは何を意味していますか?
- 24. Tensorflowは 'positive_threshold_0.500000_mean'と何を意味していますか?
- 25. RSpec Matchersで 'failure_message_when_negated'とは何を意味していますか?
- 26. Rで「S3メソッド」とは何を意味していますか?
- 27. 「バンク」とは何を意味していますか? Wikipediaの
- 28. .delegate = selfとは何を意味していますか?
- 29. Swift 4で "cacheParamsComputed"とは何を意味していますか?
- 30. リンカスクリプトで「ENTRY」とは何を意味していますか?