A. 怎樣查看由C語言編譯時所生成的匯編代碼
這個還真是不太清楚,你可以在軟體放.c文件的地方看看是否有匯編的源代碼,一般匯編的後綴名是.asm,然後用記事本打開就可以查看了。這個只是我的想法,你可以試試。不一定能成功,希望能幫到你。
B. 如何查看C語言對應的匯編語言
有兩種方法:
(1)增加參數/FA:Project->Setting...,C/C++選項卡中的Project Options中增加參數/FA,編譯後debug目錄中將會增加對應源文件的匯編文件(*.asm)。
(2)如果想查看C語句對應的匯編代碼的話,可以這樣:F11單步調試,在debug工具欄中選擇「disassembly」即可。每行C代碼下面就是對應的匯編代碼。
例如:
C代碼程序:
int main(){
int a = 3;
int b = 4;
int c = a + b;
printf("c=%d/n", c);
return 0;
}
對應的匯編代碼程序(部分)如下:
5: int a = 3;
00401028 mov dword ptr [ebp-4],3
6: int b = 4;
0040102F mov dword ptr [ebp-8],4
7: int c = a + b;
00401036 mov eax,dword ptr [ebp-4]
00401039 add eax,dword ptr [ebp-8]
0040103C mov dword ptr [ebp-0Ch],eax
C. C++程序進行編譯後會生成C語言代碼還是匯編代碼
不是匯編輸出,更不是機器代碼,而是鏈接器輸出
當然不是機器代碼,否則這個程序就可以在無操作系統環拿早磨境下跑,或是在windows下編譯出的exe能夠在unix上跑,這當然是不對的。
(當然有直接生成機器碼的編譯器,不過不是我們常見的)
實際上編譯出的程序是消斗操作系統相關的,那是因睜春為不同的操作系統的函數庫是不相同的。編譯器就是將程序與操作系統的函數庫鏈接(比如屏幕的顯示,鍵盤的輸入等)。當然只會有少量機器碼。
D. c語言中如何調用匯編程序
1、大碰如果匯編程序是可執行文件,比如exe文件,則可以使用system函數直接調用。比如下面的代碼,用system()打開windows上的記事本程序。
#include<stdio.h>
#include<stdlib.h>
intmain()
{
system("notepad.exe");
return0;
}
2、在C語言源碼中,可以通過內聯匯編來直接編寫匯編程序代碼。不同禪激的編譯器使用內聯匯編的方賀仿襪法不同,vc/vs編譯器中一般使用__asm關鍵字來使用內聯匯編,gcc編譯器一般使用asm關鍵字來使用內聯匯編,以vc6.0為例,下面的代碼通過使用內聯匯編來計算1+1,並將結果保存到int型變數result中。
#include<stdio.h>
intmain()
{
intresult;
_asm{
moveax,1
movebx,1
addeax,ebx
movresult,eax
}
printf("1+1=%d ",result);
return0;
}
E. 用c-free5.0編譯一個C程序後,如何用c-free查看這個程序的反匯編代碼呢像OD一樣查看
c-free默認的調試器是gdb。可以這樣查看:
1.給程序下斷點。
2.點擊debug菜單下的start debug。程序停在斷點處。
3.點擊debug菜單最下邊的Console.彈出gdb的窗口。
4.在此窗口最下邊的命令行編輯框輸入:disassemble ,點擊「Enter」按鈕。就會看到反匯編的代碼。
其實就是gdb的運用。
更詳細的信息:http://www.linuxidc.com/Linux/2014-10/108574.htm
F. keil怎麼看每段c語言對應的匯編
首先當然是要編譯成功
然後, 設置為軟模擬 Project->Options for the target ........ ->Debug-> Use Simulator 勾上, 然後OK
之後Ctrl+F5, Disassembly窗口就會出現(如果沒有出現, 就View->Disassemly Windown), 之後你想看那部分C代碼的匯編, 點滑鼠左鍵點一下C代碼, Disassembly窗口會顯示相應的匯編代碼
G. dev c++中怎麼看c代碼生成的匯編代碼
dev是用g++編譯器的,g++的話 帶個命令 -S會生產匯編的源陸雀文件,可以用記事敬悉手本打開 例如在亮嫌控制台里 g++ -S hello.c 會生產一個.s的文件,就是匯編源文件了