導航:首頁 > 源碼編譯 > 編譯器編譯文件的先後順序

編譯器編譯文件的先後順序

發布時間:2024-10-17 22:34:10

1. 怎麼編譯多個c語言文件

1、如果,在一個c主程序中,以include形式包含了其他所有的引用文件,在編譯過程中,編譯器首先會將這些文件合並到一個臨時文件中,然後再對這個臨時文件進行編譯。
2、如果,是作為一個工程,編譯器會分別編譯各個獨立的文件(如果文件中有include按照上一步進行),然後再將編譯好的初步結果用鏈接程序連到一起。
簡單的說,每一個.c或者.cc都是一個編譯單元,每一個編譯單元編輯的結果是一個.o或者obj之類的中間文件,至於是否是多文件,不需要關心,但是要保證不同的編譯單元之間不要有重復的符號,這就是要避免重復包含。
每一個編譯單元生成的目標文件.o或者obj都會引用一些不在本目標文件中的符號,這些符號定義在別的.o或者.obj文件中, 鏈接器把他們聯系在一起,所有的符號也就都有定義了,編譯鏈接簡單說來就是這樣。

2. 編譯軟體屬於________。

系統軟體

編譯器就是將「一種語言(通常為高級語言)」翻譯為「另一種語言(通常為低級語言)」的程序。一個現代編譯器的主要工作流程:源代碼 (source code) →預處理器(preprocessor) → 編譯器 (compiler) →目標代碼(object code) →鏈接器(Linker) → 可執行程序(executables)

(2)編譯器編譯文件的先後順序擴展閱讀:

典型的編譯器輸出是由包含入口點的名字和地址, 以及外部調用(到不在這個目標文件中的函數調用)的機器代碼所組成的目標文件。一組目標文件,不必是同一編譯器產生,但使用的編譯器必需採用同樣的輸出格式,可以鏈接在一起並生成可以由用戶直接執行的EXE,所以我們電腦上的文件都是經過編譯後的文件。

3. C語言程序編譯後產生哪些類型的文件這些文件的作用是什麼

不同的系統,產生的文件不一樣;
win:
->.obj目標文件
->.obj目標文件->.exe可執行文件
->.rc
。。。。

4. C語言編寫好代碼後,怎麼編譯,最後生成可執行文件

材料/工具:vc6.0

1、打開c語言編輯工具,在工具中寫入程序的源代碼。

5. 關於java中一次編譯多個源文件時的編譯順序的問題

在java編譯過程中,確實是會自動尋找的.當它先編譯Test的時候,發現需要先編譯TestPackage類,才能完成編譯Test的工作,然後編譯器開始編譯TestPackage.
如果,你的這兩個java文件都沒有打包,並且在同一個目錄下的話,你可以通過直接輸入javac Test.java看到,盡管你沒有發出命令要求編譯TestPackage類,但是由於編譯器檢測到需要有TestPackage類的支持,才能編譯Test,所以這時TestPackage也被編譯了.
現在程序打包了,你先編譯Test的這種情況下,編譯器先找的是包,而你的包org.it315.example是不存在的,所以會出錯

6. C語言文件的編譯與執行的四個階段並分別描述

開發C程序有四個步驟:編輯、編譯、連接和運行。

任何一個體系結構處理器上都可以使用C語言程序,只要該體系結構處理器有相應的C語言編譯器和庫,那麼C源代碼就可以編譯並連接到目標二進制文件上運行。

1、預處理:導入源程序並保存(C文件)。

2、編譯:將源程序轉換為目標文件(Obj文件)。

3、鏈接:將目標文件生成為可執行文件(EXE文件)。

4、運行:執行,獲取運行結果的EXE文件。

(6)編譯器編譯文件的先後順序擴展閱讀:

將C語言代碼分為程序的幾個階段:

1、首先,源代碼文件測試。以及相關的頭文件,比如stdio。H、由預處理器CPP預處理為.I文件。預編譯的。文件不包含任何宏定義,因為所有宏都已展開,並且包含的文件已插入。我歸檔。

2、編譯過程是對預處理文件進行詞法分析、語法分析、語義分析和優化,生成相應的匯編代碼文件。這個過程往往是整個程序的核心部分,也是最復雜的部分之一。

3、匯編程序不直接輸出可執行文件,而是輸出目標文件。匯編程序可以調用LD來生成可以運行的可執行程序。也就是說,您需要鏈接大量的文件才能獲得「a.out」,即最終的可執行文件。

4、在鏈接過程中,需要重新調整其他目標文件中定義的函數調用指令,而其他目標文件中定義的變數也存在同樣的問題。

7. c++編譯器以何種順序編譯文件的,先cpp文件,還是.h文件

1. 編譯階段 (頭文件 .h)
d工程中在頭文件中對導出內容(function, class, type, object, variable)進行定義.

2. 鏈接階段 (庫文件 .lib)
d工程在link階段會生成.lib
用戶link時需要 這個.lib 解決link時的代碼定位.
3. 運行階段
.exe

8. 簡述JAVA程序的編輯編譯和運行過程

第一步(編譯): 創建完源文件之後,程序會先被編譯為.class文件。Java編譯一個類時,如果這個類所依賴的類還沒有被編譯,編譯器就會先編譯這個被依賴的類,然後引用,否則直接引用,這個有點象make。

如果java編譯器在指定目錄下找不到該類所其依賴的類的.class文件或者.java源文件的話,編譯器話報「cant find symbol」的錯誤。

第二步(運行):java類運行的過程大概可分為兩個過程:1、類的載入 2、類的執行。需要說明的是:JVM主要在程序第一次主動使用類的時候,才會去載入該類。也就是說,JVM並不是在一開始就把一個程序就所有的類都載入到內存中,而是到不得不用的時候才把它載入進來,而且只載入一次。

特別說明:java類中所有public和protected的實例方法都採用動態綁定機制,所有私有方法、靜態方法、構造器及初始化方法<clinit>都是採用靜態綁定機制。而使用動態綁定機制的時候會用到方法表,靜態綁定時並不會用到。

(8)編譯器編譯文件的先後順序擴展閱讀:

Java整個編譯以及運行的過程相當繁瑣,本文通過一個簡單的程序來簡單的說明整個流程。

Java代碼編譯:是由Java源碼編譯器來完成;

Java位元組碼的執行:是由JVM執行引擎來完成

Java程序從源文件創建到程序運行要經過兩大步驟:

1、源文件由編譯器編譯成位元組碼(ByteCode)

2、位元組碼由java虛擬機解釋運行。因為java程序既要編譯同時也要經過JVM的解釋運行,所以說Java被稱為半解釋語言( "semi-interpreted" language)。

閱讀全文

與編譯器編譯文件的先後順序相關的資料

熱點內容
vim跳轉java源碼 瀏覽:974
電信伺服器地址路由器 瀏覽:89
冰箱壓縮機裝配 瀏覽:640
管家婆成本演算法 瀏覽:413
php站內信源碼 瀏覽:212
文件夾不能超過多少字 瀏覽:485
白領司機程序員 瀏覽:416
程序員過剩 瀏覽:99
cad2008中關閉圖層的命令 瀏覽:364
linux如何安裝tomcat 瀏覽:410
php判斷數據連接 瀏覽:907
java文件夾打包jar 瀏覽:798
做幼兒編程的公司 瀏覽:111
伺服器紅燈閃爍是怎麼回事 瀏覽:456
中興app在哪裡 瀏覽:903
河南省新命令 瀏覽:981
源碼定製被盜 瀏覽:210
php判斷寫法 瀏覽:597
鴻蒙文件夾不顯示 瀏覽:839
夏天解壓神器做法 瀏覽:739