<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > EDA/PCB > 設計應用 > Linux下編譯運行C語(yǔ)言文件

Linux下編譯運行C語(yǔ)言文件

作者: 時(shí)間:2024-05-23 來(lái)源:網(wǎng)絡(luò ) 收藏

一、準備C文件

本文引用地址:http://dyxdggzs.com/article/202405/459100.htm

在命令行模式下輸入:vim test.c(vi也可以,但建議用vim)

進(jìn)入編輯模式,輸入以下代碼:

#include<stdio.h> int main(){    printf("Hello World!n");    return 0;}


首先點(diǎn)擊ESC鍵退出編輯模式,然后輸入:wq(注意輸入的時(shí)候有冒號哦)回到命令行。

二、 編譯

編譯C文件成可執行文件

執行的命令:gcc test.c -o test

輸入ls命令,能看到當前文件夾下多了一個(gè)文件:test.out

三 、 執行

執行:./test.out

可得輸出hello World!

四、 編譯的四個(gè)步驟

使用gcc把C文件編譯成可執行文件可分為四步:預編譯、編譯、匯編、連接。

1、預編譯(生成.i文件)

預編譯器cpp把源文件和相關(guān)的頭文件(如實(shí)例代碼中的頭文件stdio.h)預編譯成一個(gè).i的文件。

執行的命令:gcc -E test.c -o test.i

預編譯的作用:

a、處理所有的“#include”預編譯指令

b、處理所有的"#define"指令,將代碼中所有的"#define"刪除,并展開(kāi)所有的宏定義

c、處理所有的條件預編譯指令,如#if #elif #else #ifdef #ifnodef #endif等

d、刪除所有的注釋

e、添加行號和文件名標識,以便產(chǎn)生錯誤時(shí)給出提示信息

2、編譯(生成.s文件)

編譯器gcc把預處理后的文件進(jìn)行語(yǔ)法分析、語(yǔ)義分析以及優(yōu)化后生成匯編代碼文件。

執行的命令:gcc -S test.i -o test.s

3、匯編(生成.o文件)

匯編器把匯編代碼文件轉換成中間目標文件

執行的命令:gcc -c test.s -o test.o  (注意:這里是小寫(xiě)的-c,而不是大寫(xiě)的-C,本人在此處踩坑,出現異常)

4、鏈接(生成可執行文件)

鏈接器ld把目標文件與所需要的所有的附加的目標文件(如靜態(tài)鏈接庫、動(dòng)態(tài)鏈接庫)鏈接起來(lái)成為可執行的文件

執行的命令:gcc test.o -o test




關(guān)鍵詞: Linux C語(yǔ)言 開(kāi)發(fā)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>