Linux 0 編譯鏈結

2021-08-09 15:15:52 字數 734 閱讀 8342

* 預編譯

-在明亮行鍵入命令。

$gcc -o hello1.c -e hello.c

-這行明亮告訴gcc對源程式hell0.c進行預編譯, 預編譯結果輸出到hello1.c檔案中

預編譯就是把.h標頭檔案展開,開啟

* 編譯

$gcc -o heello.0 -c hello1.c

-這行命令告訴gcc對源程式hello.c進行編譯,但不鏈結,編譯輸出到hello.c檔案中。

.o檔案不能直接執行,它只是乙個你寫的程式的二進位制編碼,他沒有程式**中的函式實現。

只有通過鏈結,把函式實現的動態庫鏈結起來,就能直接執行了

* 鏈結

$gcc -o hello hello.o

-這行命令告訴gcc對源程式hello.o進行鏈結,生成可執行程式hello

-o是指定生成的檔案

執行時加上 ./

$./hello

執行程式

引數 含義

-o fileename

輸出檔名,如果沒有指定filename,預設為a.out

-c 只編譯,不鏈結

-e 預編譯

-g 包涵除錯資訊

-l 鏈結指定的庫檔案

-o 優化編譯後的**

-w 關閉所有告警資訊

-wall

開啟所有警告資訊

快樂Linux 0 簡介

本個專欄主要記錄個人學習linux過程。在這個過程中知識點 有的點到為止,有的力求深度。會持續更新,包括已完成的博文也會持續優化。希望到最後自己挖的這個坑能夠填滿。2020.6.19 感覺後端開發終究不太適合我,最近找到了自己喜歡的方向。本來這個專欄是記錄後端伺服器學習過程的知識,而後面的執行緒同步...

發展中的linux0

2010年01月25日 1條 戴爾dell 遷移linux x86伺服器 unix it168 資訊 2010年1月21日,戴爾公司在上海舉辦了 化繁為簡,打造高效金融it 戴爾銀行業unix到linux遷移解決方案高階研討會 會後,戴爾大中華區大企業客戶部解決方案總監曹志平和戴爾 中國 金融服務部...

linux 0號程序 1號程序 區別

系統允許乙個程序建立新程序,新程序即為子程序,子程序還可以建立新的子程序,形成程序樹結構模型。整個linux系統的所有程序也是乙個樹形結構。樹根是系統自動構造的,即在核心態下執行的0號程序,它是所有程序的祖先。由0號程序建立1號程序 核心態 1號負責執行核心的部分初始化工作及進行系統配置,並建立若干...