導航:首頁 > 源碼編譯 > 怎麼連接匯編編譯器

怎麼連接匯編編譯器

發布時間:2023-08-12 07:53:04

1. 源代碼到可執行 文件之間的轉換用到的 編譯器如gcc、匯編器、連接器等是怎麼集成到IDE環境中的

在VisualC 2005中,如何調用其它編譯器編譯cpp文件呢?換句話說,如何把其它編譯器集成到VC2005的IDE中呢?

象ICC這樣的編譯器安裝之後會自動集成進來,要集成其他編譯器那還得自己動手。下面介紹一種簡單、淺層的「集成」方法。

你也許注意到了,在VC2005的IDE中是不能編譯單個.cpp文件的,除非把它放在工程中。但是,我們可以通過調用外部工具實現編譯單文件。

下面以調用G 為例說明如何編譯單個.cpp文件。如果要編譯單個.c文件,使用GCC即可,方法同理。

也許你現在還不知道G 。G 是GCC中的一員。GCC的含義是GNU編譯器集合(GNUCompilerCollection),包括C、C 、Objective-C、Fortran、Java、Ada連同與這些語言相配的庫等。GCC被譽為「世界上最重要的軟體」。許多免費的編譯器都是GCC的移植版—MinGW(MinimalistGNUforWindows)中攜帶的編譯器就是如此。

以MinGW為例,我們可以下載DevC ,DevC 目前最新版為4.9.9.2。安裝DevC 的同時就安裝了MinGW,其中包含了G 3.4.2.

假設DevC 安裝在D:\Dev-Cpp目錄下。

下面我們在VC2005的菜單點擊「工具(Tools)->外部工具(ExternalTools)->添加(Add)」。

分別填入:

標題(Title):GNUC Compiler

命令(Command):D:\Dev-Cpp\bin\g .exe

參數(Arguments):-Wall-o$(ItemFileName)$(ItemFileName)$(ItemExt)-time

初始目錄(Initialdirectory):$(ItemDir)

再鉤選下面的"使用輸出窗口(UseOutputwindow)".

說明:如果你已經把D:\Dev-Cpp\bin\目錄添加到系統環境變數中,那麼Command指定為g .exe即可。Cygwin同理。

這些參數只是一個參考。你可以查閱VC編譯器的宏設置你需要的參數。

乾脆順帶補充一下DigitalMarsC 編譯器的參考參數設置:

標題(Title):DigitalMars

命令(Command):C:\dm\bin\dmc.exe

參數(Arguments):$(ItemFileName)$(ItemFileName)$(ItemExt)

初始目錄(Initialdirectory):$(ItemDir)

好,下面切換到main函數所在文件,點擊工具(Tools)菜單下的「GNUC Compiler」開始編譯。

注意g 此時編譯的指是純C 程序,對於包含int_tmain(intargc,_TCHAR*argv[])這類VC特有的C 程序自然是無法通過編譯的。

如果編譯沒有出錯,對於早期版本的g 而言,Outputwindow是沒有任何輸出的。

而對於較新版本的g ,將輸出類似以下的信息:

#cc1plus0.670.22
#as0.050.01
#collect20.360.19

這是-time報告的編譯過程中每個子過程所佔用的CPU時間。

當然,你還可以更改編譯參數,使輸出窗口輸出其他編譯信息。

我們還可以通過添加外部工具來實現運行g 生成的程序的功能。步驟如下:

在VC2005的菜單點擊「工具(Tools)->外部工具(ExternalTools)->添加(Add)」。

分別填入:

標題(Title):RunasC Application

命令(Command):%systemroot%\system32\cmd.exe

參數(Arguments):/c$(ItemFileName).exe

初始目錄(Initialdirectory):$(ItemDir)

不要鉤選下面的「使用輸出窗口」和「退出時關閉」。

注意:cpp文件必須放在工程中,g 生成的程序才能被運行!

用MinGW的g 編譯出的程序可以在沒有安裝MinGW的Windows系統上運行!

但是在Cygwin/gcc下編譯出來的程序,在windows執行必須依賴cygwin1.dll。

通過VC2005創建不帶預編譯頭的Win32控制台應用程序空環境,這樣編譯出來的可執行文件也不是放在哪台機子都能跑的。但是常規空環境可以做到。

下面講講如何設置快捷鍵。

點擊菜單中的"工具->自定義",

點擊右下角的"鍵盤",

點擊"按快捷鍵"下面的文本框,

按下Shift Ctrl F7,如果這個快捷鍵已經分配給了其他的命令,更換一個即可。

2. 在開始目錄下如何打開匯編語言編譯器

最好把MASM放在跟目錄下例如D:\MASM
把編輯好的ASM文件(用TXT文檔編寫程序,保存.把後綴名TXT改成ASM)放在MASM文件夾下如(D:\MASM\文件名.ASM)
點擊開始菜單 .運行->CMD->D:回車->CD MASM回車->MASM 文件名3下回車
->LINK 文件名 3下回車->DEBUG 文件名.EXE
現在我們都用 masm集成環境了,建議你用

3. 怎麼編譯連接16位的匯編程

如果是寫16位匯編,下載masm5.0(微軟的16位宏匯編包),網路一下就有下載!使用masm.exe編譯16位匯編源代碼生成*.obj文件,在用link.exe連接生成16位可執行文件*.exe。在32位機器上是可以寫16位程序的,因為x86的計算機體系就是為了兼容低階程序而存在的,計算機在啟動的時候就是以實模式(可以簡單理解為16位的)啟動的,之後操作系統才使用機器指令轉向32位保護模式(因為這樣從硬體級支持多任務)。編寫16位、32位、以及64位匯編程序只要下載安裝相應的匯編包就可以了。

4. 匯編程序是怎麼編譯的

匯編語言是一種低級語言,匯編語言是匯編指令集、偽指令集和使用它們規則的統稱,使用具有一定含義的符號為助憶符,用指令助憶符、符號地址等組成的符號指令稱為匯編格式指令。


過程:

  1. 編輯:用編輯軟體(EDIT.EXE或記事本)形成源程序(.ASM)

  2. 匯編:用匯編程序(MASM.EXE)對源程序進行匯編,形成目標文件(.OBJ),格式如下:MASM LX.ASM;

  3. 連接:用連接程序(LINK.EXE)對目標程序進行連接,形成可執行文件(.EXE),格式如下:LINK LX.OBJ;

  4. 執行:如果結果在屏幕在顯示,則直接執行可執行文件。

  5. 調試:用調試程序(LINK.EXE)對可執行文件進行調試,格式如下:DEBUG LX.EXE


匯編語言中,用助記符(Memoni)代替操作碼,用地址符號(Symbol)或標號(Label)代替地址碼。匯編程序(如MASM)的原理實際上就是把匯編的代碼轉成電腦可以識別的二進制碼

5. 在c語言(C++或G++)中如何嵌入匯編

今天有點時間,重新改下了下,為避免因編譯器和平台實現而出現的問題,我寫了三個版本,分別是windows下vc6.0,windows下mingw和cygwin和linux下的gcc/g++。

vc6.0:

#include <stdio.h>

const char* input = "%d";

const char* output = "%d\n";

int n;

int main()

{

__asm

{

lea eax, n

push eax

push input
loopx:

call scanf

cmp eax, 1

jne end

mov ecx, n

jecxz end

dec ecx

push ecx

push output

call printf

add esp, 8

jmp loopx
end:

add esp, 8

}

return 0;

}

mingw/cygwin:

#include <stdio.h>

const char* input = "%d";

const char* output = "%d\n";

int n;

int main()

{

__asm__

(

"loop: \n"

"pushl $_n \n"

"pushl _input \n"

"call _scanf \n"

"addl $8, %esp \n"

"cmpl $1, %eax \n"

"jne end \n"

"movl _n, %ecx \n"

"jecxz end \n"

"decl %ecx \n"

"pushl %ecx \n"

"pushl _output \n"

"call _printf \n"

"addl $8, %esp \n"

"jmp loop \n"

"end:"

);

return 0;

}

linux gcc/g++:

#include <stdio.h>

const char* input = "%d";
const char* output = "%d\n";
int n;

int main()
{
__asm__
(
"pushl $n \n"
"pushl input \n"
"loop: \n"
"call scanf \n"
"cmp $1, %eax \n"
"jne end \n"
"movl n, %ecx \n"
"jecxz end \n"
"decl %ecx \n"
"pushl %ecx \n"
"pushl output \n"
"call printf \n"
"addl $8, %esp \n"
"jmp loop \n"
"end: \n"
"addl $8, %esp \n");

return 0;
}

6. 全國計算機三級PC匯編語言編譯器是什麼怎麼用進入考試系統後進入到如圖所示,怎麼做了

1.輸入edit 1.asm(源程序文件名)
或者在考試文件夾打開源程序文件,asm格式的,用記事本打開.就能編輯了
我當時考試的時候採取的後者,因為後者能用滑鼠,,哈哈哈哈哈哈,
2.masm 1.asm(源程序文件名) 編譯生成1.obj文件
3.link 1.obj 1.asm(源程序文件名) 將1.obj文件寫入1.exe文件
這樣就可以了

閱讀全文

與怎麼連接匯編編譯器相關的資料

熱點內容
投訴聯通用什麼app 瀏覽:150
web伺服器變更ip地址 瀏覽:954
java正則表達式驗證郵箱 瀏覽:360
成熟商務男裝下載什麼軟體app 瀏覽:609
加密2h代表長度是多少厘米 瀏覽:23
拍賣程序員 瀏覽:101
電腦的圖片放在哪個文件夾 瀏覽:274
unsignedintjava 瀏覽:216
編譯器下載地址 瀏覽:42
什麼是面對對象編程 瀏覽:708
b站伺服器什麼時候恢復 瀏覽:721
6p相當於安卓機什麼水準 瀏覽:498
能否給隱藏相冊加密 瀏覽:596
糖心app改什麼名 瀏覽:823
戰地1控伺服器如何部署 瀏覽:395
xp還原系統輸入命令 瀏覽:323
mysql命令行版本 瀏覽:305
如何進入itunes找文件夾 瀏覽:834
CAD中重復命令使用 瀏覽:479
心智pdf 瀏覽:477