1. 程序編譯鏈接後形成的可執行文件是什麼文件
xxxx.exe可以執行文件
2. 匯編語言的那個編譯鏈接 的詳細過程 每一步驟
LZ請跟著我的操作走
1.將寫好的匯編代碼保存為1.asm
2.將1.asm復制到c盤下
3.點開始(即左下標那個windows圖標),找到運行,或(附件中的命令提示符)
4.找到運行後,輸入cmd 或 command
5.進入後輸入cd c:\
6.輸入masm 1;(1後面有分號),然後回車
7.輸入link 1;然後回車
8.cls清屏然後回車
9.輸入1.exe,然後回車
10.完成
至於怎麼debug
步驟:
1-8同上
9.輸入debug 1.exe,然後回車
10.完成
至於debug 中的 'r' 'd' 't' 自己上網找大把
我的系統是win 7,
你的masm 和 link debug 要放在C:\Windows文件夾下
PS: 若有不明白的地方,可以追問
3. C語言編譯好後怎麼鏈接
在絕大多數C/C++的集成開發環境(如VC6、VS、TC、QT)中,編譯和鏈接都可以通過一個按鍵解決。以VC6為例,你可以通過build按鈕(快捷鍵F7)一步完成編譯和鏈接,當然你也可以先編譯(compile 快捷鍵Ctrl+F7),後點擊build按鈕,效果是一樣的。
編譯和鏈接,其實就是編譯型編程語言(解釋性編程沒有這個步驟)的生成可執行文件的兩個步驟。
編譯,是為了將源代碼生成目標文件(也叫中間文件);鏈接,是將目標文件生成最終的可執行文件。
通常,在命令行編譯模式下,你都需要執行兩個命令來分別完成編譯和鏈接,但在集成開發環境中,這不是必要的,完全可以一鍵完成。
之所以分兩步,主要的設計目的,就是用不同的連接器可以生成在不同平台和不同環境下使用的可執行文件。但這個在同一個圖形化的IDE界面中並沒有什麼意義。
4. c語言裡面的編譯和鏈接是怎麼回事
C/C++語言的完整編譯過程是
一、預編譯
處理#define #if #include這類#開頭的語句,這些稱為預編譯指令。這個過程中會把.h文件和.c/.cpp文件組合成最終交給compile過程的原文件。這個原文件是不包含任何#開頭的語句的。所有#define定義的宏也會被替換。
二、編譯
把上面那個原文件編譯成.o或者VC里是.obj文件。這個文件保存了機器碼化的函數、函數的描述、全局變數的描述、乃至段的描述等等。
三、連接
把可執行程序需要的所有的編譯過程產生的.o或者.obj文件組合到一起。(這里也包括.lib文件,.lib文件件本質上就是打包的.obj文件集合)。另外連接過程還會組合一些其他數據,比如資源、可執行文件頭等等。
5. 程序編譯連接的過程中各幹了什麼事情
呵呵,樓主應該看看《編譯原理》。
我的空間里的一篇日誌或許對樓主也有幫助。
鏈接是把程序代碼與所需要的其他目標代碼,或函數庫,Run-time 庫連接在一起。
比如 printf,程序代碼里沒有它內部實現的代碼,只是說要調用這個功能。
連接程序會把它內部實現代碼從 Run-time 庫里提出來,放在一起,這樣程序才可以單獨執行。
對於使用了第三方函數庫的代碼來說,鏈接程序同樣會在第三方函數庫中提取相關內容,加在一個可執行文件(Exe 或其他)中。
另外,一些比較大的程序,可能會分若干個文件,它們互相調用彼此的函數。可以獨立編譯成若干個目標代碼。如果這些函數有的缺失了,編譯也可以通過。
這樣做的好處是,對於大型程序,分成若幹部分分別編譯,加快了編譯過程。同時,減少每個源碼文件的行數。
比如,寫一個計算程序。後台計算有一個文件,可以編譯成功。前台界面有一個文件,也可以編譯成功。它們分辨編譯成兩個不同的目標代碼文件(obj 或其他)
然後經過鏈接過程
這個例子的話,可以認為有這個式子:
前台.obj + 後台.obj + .... + 第三方函數庫 + Run-time 庫 = Exe
鏈接的時候,才會檢查這種相互依賴是否完整。
比如前台部分是否使用了有些函數,而這些函數在後台處理模塊中並不存在?或者忘記寫這個函數了?
或者是否調用了一個後台函數,而這個函數的參數與調用的時候根本不一致?
發生這些情況時,才會給出鏈接警告和錯誤。
6. 什麼叫編譯,什麼又叫鏈接
編譯就是將源程序翻譯為機器代碼,機器代碼一般以*.obj文件保存。
鏈接就是將上一步產生的obj文件與操作系統動態庫組合為可執行的exe文件。
7. 用C語言編的程序,要生成可執行文件的時候,要編譯、鏈接,編譯是什麼意思啊鏈接是什麼意思編譯和鏈接
編譯就是把C代碼轉換成CPU可執行的機器指令,每個.c文件生成一個.obj文件。
鏈接就是把生成的(多個)
.obj
文件及用到的庫文件(.lib)一起組合生成可執行文件(.exe)。
8. c++ 編譯 鏈接是怎麼回事
compile和link是大多數語言從原代碼生成可執行程序的兩個步驟。
之所有有這兩個步驟因為幾乎任何一個程序都不是用一個原文件寫出來的。compile是先針對單獨原文件進行處理。link是把compile處理的結果組合成一個完整的可執行文件。
其實C/C++完全也可以一步成型,不需要compile和link兩個步驟,但是那樣的後果就是:一,每次生成可執行程序,必須翻譯全部源代碼;二,C語言的執行庫(printf, scanf這些)必須都以源代碼形式存在。這怎麼樣也說不過去吧。
另外頭文件不屬於compile和link過程,頭文件是預編譯過程的文件。
C/C++語言的完整編譯過程是
一、預編譯
處理#define #if #include這類#開頭的語句,這些稱為預編譯指令。這個過程中會把.h文件和.c/.cpp文件組合成最終交給compile過程的原文件。這個原文件是不包含任何#開頭的語句的。所有#define定義的宏也會被替換。
二、編譯
把上面那個原文件編譯成.o或者VC里是.obj文件。這個文件保存了機器碼化的函數、函數的描述、全局變數的描述、乃至段的描述等等。
三、連接
把可執行程序需要的所有的編譯過程產生的.o或者.obj文件組合到一起。(這里也包括.lib文件,.lib文件件本質上就是打包的.obj文件集合)。另外連接過程還會組合一些其他數據,比如資源、可執行文件頭等等。
9. c語言中的編輯,編譯,連接,運行分別是什麼意思
1、編輯:編寫代碼,製作C語言的源文件。
2、編譯:是由編譯程序將C語言源文件轉換成二進制中間文件,對文件內部的語法語義做處理,如果編譯出錯,無法進行後續動作。
3、鏈接:將編譯中生成的中間文件組合成二進制可執知行文件,這一步會對文件之間的關聯做檢查,如果出錯,將不會生成可執行文件,也就無法執行。
4、執行:運行可執行文件,這一步道是編寫代碼的最終目的。
(9)編譯鏈接的東西擴展閱讀:
DOS命令通常分為三類:內部命令、外部命令和批處理命令。
1、內部命令:
其包含在命令解釋程序COMMAND.COM中,一旦啟動DOS,這些命令就被調入內存,只要在DOS系統提示符下輸入這些命令,就可立即執行。
2、外部命令:
其以文件的形式存儲在系統盤上,所帶擴展名為COM和EXE。DOS啟動時,它們並沒有被調入內存,執行前必須從系統盤讀進內存。因此輸入外部命令時,要了解該命令是否在當前盤上,不然DOS無法找到它們。
3、批處理命令:
實際上是個文件,該文件包含多條命令,當用戶鍵入批處理文件名時,DOS將順序執行其中的各條命令。注意,批處理命令必須用「.BAT」作為擴展名。
C語言的運算非常靈活,功能十分豐富,運算種類遠多於其它程序設計語言。在表達式方面較其它程序語言更為簡潔,如自加、自減、逗號運算和三目運算使表達式更為簡單。
當多種不同運算組成一個運算表達式,即一個運算式中出現多種運算符時,運算的優先順序和結合規則就會顯得十分重要。
網路-運行命令
網路-C語言