GCC で C/C ソースからアセンブラ出力を生成
コンパイル プロセスを分析するには、C/C ソースから出力されたアセンブリ コードを取得します非常に貴重なものになる可能性があります。 GCC は、これを実現する 2 つの方法を提供します。-S オプションを使用する方法と objdump を使用する方法です。
-S オプションの使用:
-S オプションは、GCC にプリプロセッサを起動し、初期コンパイルを実行しますが、アセンブラの実行前に停止します。デフォルトでは、出力は .s 拡張子が付いたファイルに保存されます。カスタム出力ファイルを指定するには、-o オプションを使用します。
gcc -S helloworld.c
objdump の使用:
結果のオブジェクト ファイルのみがある場合は、objdump を使用できます。 --disassemble オプション (短いバージョンでは -d) を使用して逆アセンブルします。コード:
objdump -S --disassemble helloworld > helloworld.dump
追加オプション:
例:
詳細を取得するにはシンボル参照のプレースホルダーを含む可能性のある .o ファイルからの Intel 構文によるアセンブラー出力、使用:
objdump -drwC -Mintel -S foo.o | less
以上がGCC を使用して C/C ソースからアセンブリ コードを生成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。