linux下用gcc如何生成預處理 彙編等檔案

2022-09-18 02:57:34 字數 812 閱讀 8923

【gcc -e test.c -o test.i------>預處理檔案生成.i 檔案。】

1、c語言程式生成過程

下面所有的操作以hello world程式為例,原始碼檔案命名為t.c,原始碼內容如下:

步驟閱讀

22、預處理階斷

預處理階斷是對c原始碼中的預處理**進行處理。

步驟閱讀

33、編譯階斷

編譯階斷是將c原始碼處理為彙編**。

gcc -s -o t.s t.i

或者gcc -s -o t.s t.c

步驟閱讀

44、彙編階斷

彙編階斷是將彙編**處理為二進位制**。

gcc -c -o t.o t.s

或者gcc -c -o t.o t.c

步驟閱讀

55、鏈結階斷

鏈結階斷將二進位制**打包成乙個作業系統可以識別的可執行檔案格式,linux是elf格式,windows上是pe格式。

gcc -o t t.o

或者gcc -o t t.c

步驟閱讀

Linux 用gcc生成靜態庫和動態庫

linux下的庫有兩種 靜態庫和共享庫 動態庫 二者的不同點在於 被載入的時刻不同。靜態庫在程式編譯時會被連線到目標 中,目標程式執行時將不再需要該動態庫,移植方便,體積較大,但是浪費空間和資源,因為所有相關的物件檔案與牽涉到的庫被鏈結合成乙個可執行檔案。動態庫在程式編譯時並不會被連線到目標 中,而...

在Linux情況下用gcc寫程式

測試下linux是否裝有gcc。輸入gcc 如果存在它會提示 no input files 不存在則提示gcc not found 沒安裝的,又不會安裝的,可以參考我的另一篇經驗 教你怎麼在linux上安裝gcc 首先touch helloworld.c 新建乙個helloworld.c檔案。vim...

windows下用gcc編譯socket程式

程式參考 visual studio 2019 c 實現socket通訊,新增ws2 32.lib庫,新手 我這做了微調 編譯gcc client.c lwsock32 o client,追加 lwsock32 include include pragma comment lib,ws2 32.li...