1

私は asm に小さな "hello world" プログラムを持っています。コンパイルしてリンクした後、変数とラベルに使用したすべての名前を、最終的な elf ファイル (テキスト エディターで開いたもの) で確認できます。なんで ?変数などは静的アドレスや相対アドレスに置き換えるべきではないですか? この情報を非表示にするにはどうすればよいですか?

ubuntu x86 64 で nasm を使用しています:nasm -f elf64 hello.asm && ld -o a hello.o

4

2 に答える 2

1

デバッグ情報です。コマンドstripを使用してオブジェクト ファイルから削除できます。

于 2013-10-27T09:10:05.557 に答える
1

--strip-allストリッピングは、フラグ を呼び出すことにより、リンク時に実行することもできますnasm -f elf64 hello.asm && ld -o a hello.o --strip-all

使用できるデバッグシンボルのみを削除したい場合は、これにより出力ファイルからすべてのシンボルが削除されます--strip-debug

ここでより多くのオプションについて読むことができます: http://ftp.gnu.org/old-gnu/Manuals/ld-2.9.1/html_node/ld_3.html

于 2013-11-08T22:31:44.930 に答える