2012-03-08 5 views
6

私はC/C++のいくつかの低レベルの土台について、this articleを読んでいます。著者は基本的に、コンパイラによって生成されたアセンブリコードを1行ずつ表示しています。彼はVS 2010を使用していますが、私はCode :: Blocksを使用しています。そこに分解をどのように表示しますか?私は、デバッガ、および解体をクリックして行くとき、それは私に空白のウィンドウを示しています...Code :: Blocksで逆アセンブリを表示する方法は?

これはC++(.cppファイル)コード(コード全体)私はコンパイルです:

int main() 
{ 
    int x = 1; 
    int y = 2; 
    int z = 0; 

    z = x + y; 

    return 0; 
} 
+1

特にコードブロックではなく、とりわけ 'gcc -S'を使うと、* .s、* .asmの行にアセンブリファイルが生成されます。 –

+0

Cool、私は起動しますLinuxとそれを行う。しかし、私はこれを行う方法を知りたいです。 – corazza

答えて

6

種類の著者が記事で示す分解は、inter-leaved disassembly(Cと逆アセンブリインターリーブ)と呼ばれ、Visual StudioのようないくつかのIDEがサポートしています。コードブロックはサポートしていません。しかし、コードブロックは、この

Diassembly Window

のような個別の解体ウィンドウは、ソース線を選択しました。右クリック。と言ってくださいRun to Cursor。今すぐDebug->Debugging Windows->Disassembly。 Run to cursorの代わりに、ブレークポイントを設定してからこれを行うこともできます。しかし何とか私はうまくいっていなかったので、私はRun to Cursorメソッドを提案しています。

希望します。

+0

'Run to cursor'コマンドが見つかりません。 – corazza

+1

OK。最初から同期します。私はここからコードブロックをdwlded - http://sourceforge.net/projects/codeblocks/files/Binaries/10.05/Windows/codeblocks-10.05mingw-setup.exe/download 'ファイル - >新規 - >プロジェクト - >コンソールアプリケーション - > C++ - >プロジェクト名を入力 - > GNU GCCコンパイラ - >完了 ' 、' Build-> Build'。 'main.cpp'にカーソルを7行置きます。右クリックし、 'Run to Cursor'と言う。今、あなたはパースペクティブを保存するかどうかを尋ねるポップアップウィンドウが表示されます。ダメって言って!さて、回答 –

+0

で説明されているようにしてください。ダウンロードします... – corazza

関連する問題