程序編譯後為什麼要鏈接
發布時間: 2023-12-04 05:27:54
1. 一個C源程序,編譯後為什麼還要連接,都連接什麼了
編譯之後,地址不連續,不是可執行地址,連接之後才能變成連續的可執行文件,所以沒有連接的文件不能運行。
2. c語言裡面的編譯和鏈接是怎麼回事啊
編譯是把你輸入的源代碼生成目標代碼(即:以.obj為後綴名的文件),連接是把.obj文件和系統庫相連接(如:#include 中所聲明的文件)。如果直接按run,如果源代碼正確則是系統自動編譯連接,要是源代碼有錯誤則無法運行,並顯示錯誤信息。
3. C語言編輯編譯連接的作用是什麼
1
編輯:
就是寫代碼或修改代碼,製作C語言的源文件和頭文件。
2
編譯:是由編譯程序將C語言源文件轉換成二進制中間文件,在這一步中,會對文件內部的語法語義做處理,如果編譯出錯,無法進行後續動作。
3
鏈接:將2中生成的中間文件組合成二進制可執行文件,這一步會對文件之間的關聯做檢查,如果出錯,將不會生成可執行文件,也就無法執行。
4
執行:
運行可執行文件,這一步是編寫代碼的最終目的。
以上四步每步均依賴於上一步,這是一個逐步由高級語言(C語言)到機器語言(可執行文件)轉化的過程。廣義的編譯,包含編譯鏈接兩個部分。
4. c語言中編譯後得到的目標文件為什麼不能直接運行,必須連接後才能運行
一編譯單元(一個c文件)就會得到一個目標文件,而最終程序是一個EXE。所以需要鏈接。
同時鏈接需要按照操作系統的可執行文件格式要求組織。
5. c語言為何需要編譯和連接才能運行
的文件(也稱為源代碼)而已,需要經過1定的處理才能轉換成機器上可運行的可履行文件。
我們將對C語言的這類處理進程稱為編譯與鏈接。
熱點內容