C++ プログラムのアセンブリ コードを表示するにはどうすればよいでしょうか? 質問する

C++ プログラムのアセンブリ コードを表示するにはどうすればよいでしょうか? 質問する

C++ プログラムのアセンブリ コードを表示するにはどうすればよいでしょうか?

これを行うための一般的なツールは何ですか?

ベストアンサー1

コンパイラに問い合わせる

自分でプログラムをビルドする場合は、コンパイラにアセンブリ ソースを出力するように要求できます。ほとんどの UNIX コンパイラでは、-Sスイッチを使用します。

  • GNU アセンブラを使用している場合、 でコンパイルすると、-g -Wa,-alh標準出力にソースとアセンブリが混在して出力されます (-Waコンパイラ ドライバにアセンブラにオプションを渡すように要求し、-alアセンブリ リストをオンにして、-ah「高レベル ソース」リストを追加します)。

    g++ -g -c -Wa,-alh foo.cc

  • Visual Studioの場合は、/FAsc

バイナリを覗いてみる

コンパイルされたバイナリがある場合、

デバッガーを使用する

デバッガーは逆アセンブリも表示できます。

  • disasGDB でコマンドを使用します。Intel構文を好む場合に
    使用します。set disassembly-flavor intel
  • または分解ウィンドウWindows 上の Visual Studio の。

おすすめ記事