GCC の C/C ソースからアセンブラー出力にアクセスする
コンパイル プロセスを分析するには、生成されたアセンブリ コードを抽出すると便利なことがよくあります。 。これは、GCC を使用する 2 つの方法で実現できます:
-S オプションを使用する:
gcc コマンドに -S オプションを追加すると、プリプロセッサが呼び出されます。 、最初のコンパイルが行われます。ただし、プロセスは組み立て段階の前に停止します。この部分的なコンパイル出力 (通常は file_name.s という名前) には、元の C/C ソースに対応するアセンブリ コードが含まれています。
objdump の使用:
オブジェクトのみの場合ファイルが利用可能な場合は、objdump ユーティリティを使用してアセンブリ コードを抽出できます。 --disassemble (-d) オプションを追加すると、objdump はオブジェクト ファイルの逆アセンブリを生成します。デバッグ情報を使用してコンパイルが実行された場合 (-g を使用)、読みやすくするためにソース行が逆アセンブリにインターリーブされます。
例:
gcc -S source_file.c objdump -S --disassemble object_file.o > assembly_output.txt
gcc に -S オプションを指定すると、source_file.s という名前のアセンブリ ファイルが生成されます。 objdump コマンドは、オブジェクト ファイルの逆アセンブリを含む、assembly_output.txt という名前のテキスト ファイルを作成します。利用可能な場合はソース行も含まれます。
出力をカスタマイズするための追加の objdump オプションは次のとおりです。
以上がGCC を使用して C/C ソースから生成されたアセンブリ コードにアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。