c編譯過程

編譯語言大致過程。

  1. 預處理
    宏定義展開,頭文件展開,條件編譯,同時將註釋刪除,並不檢查語法,生成.i文件
  2. 編譯
    檢查語法,把預處理後文件編譯生成彙編文件。.s文件
  3. 彙編
    將彙編文件生成目標文件(二進制文件),機器語言。.o文件
  4. 鏈接
    C語言程序需要依賴各種庫,編譯後還需要把庫鏈接到最終的可執行程序中去。

源文件不能被計算機執行,需要相應的編譯器 ,得到彙編語言組成的彙編程序。(不同cpu,操作系統,編譯出的彙編代碼不同。
不同的彙編程序經過彙編器彙編,得到計算機可運行的二進制文件,程序就可以運行了。
不可跨平臺的問題在於,不同平臺需要的編譯器不同,編譯出的彙編文件不同,

java文件在運行時,會將源文通過javac命令由編譯器編譯爲字節碼文件,這個文件是跨平臺的,java虛擬機(jvm,在java運行環境/jre中)也對應的只接收處理class文件,java虛擬機是一個通用的執行平臺(但有不同版本),不同java平臺編寫文件通過java虛擬機轉換的文件最後功能相同,因而實現在任意平臺的java程序都可以在其他平臺運行

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章