A. (VC6.0)1.輸入源程序後,如何編譯該程序 2.如何鏈接程序生成可執行文件 3.如何運行程
1單擊主菜單欄中的build編譯
2在得到後綴為obj的目標程序後選擇build菜單下的build選項,表示要求連接並建立一個可執行文件。
3得到可執行文件後選擇build菜單下!execute文件名.exe,執行文件。
B. 計算機是怎樣運行程序的
為了使計算機程序得以運行,計算機需要載入代碼,同時也要載入數據,然後由處理器執行指令。整個過程可以總結為編譯、鏈接、裝載、執行。
1、編譯
編譯過程又可以被分為兩個階段:編譯、匯編。
編譯是指編譯器讀取字元流的源程序,對其進行詞法與語法的分析,將高級語言指令轉換為功能等效的匯編代碼。
匯編器是將匯編代碼轉變成機器可以執行的命令,每一個匯編語句幾乎都對應一條機器指令。匯編相對於編譯過程比較簡單,根據匯編指令和機器指令的對照表一一翻譯即可。
2、鏈接
鏈接的主要內容是將各個模塊之間相互引用的部分處理好,使得各個模塊之間能夠正確地銜接。鏈接又分為靜態鏈接和動態鏈接:
靜態鏈接是指在編譯階段直接把靜態庫加入到可執行文件中去,這樣可執行文件會比較大;
動態鏈接則是指鏈接階段僅僅只加入一些描述信息,而程序執行時再從系統中把相應動態庫載入到內存中去。
3、裝載
程序在經過鏈接後,得到了可執行文件,下一步就需要將可執行程序載入到內存中。
由於現代操作系統均採用分頁的方式來管理內存,所以操作系統只需要讀取可執行文件的文件頭,之後建立起可執行文件到虛擬內存的映射關系,而不需要真正的將程序載入內存。
4、運行
載入器將可執行目標文件中的代碼和數據從磁碟復制到內存中,然後通過跳轉到程序的第一條指令或入口點來運行程序。
在程序的運行過程中,CPU發現有些內存頁在物理內存中並不存在並因此觸發缺頁異常,此時CPU將控制許可權轉交給操作系統的異常處理函數,操作系統負責將此內存頁的數據從磁碟上讀取到物理內存中。
數據讀取完畢之後,操作系統讓CPU jmp到觸發了缺頁異常的那條指令處繼續執行,此時指令執行就不會再有缺頁異常了。
(2)如何執行程序內部鏈接擴展閱讀
為使計算機按預定要求工作,首先要編製程序,無論是最早的操作系統還是現代操作系統,程序的運行都是計算機工作的本質。
早期計算機是單任務執行,由程序員直接編寫操作系統可以識別的機器語言,到現在可以實現多道程序並行,並且程序的開發由更利於程序員理解的高級語言編寫,源程序在經過一系列翻譯過程,變成計算機理解的機器語言,再執行。
整個程序執行的過程,需要CPU、內存、程序代碼、設備等配合,才能實現程序要表達的功能。