linux下C編程

編譯

編譯器可以將源代碼轉(zhuǎn)換成機器語言单匣,在編譯過程中,會找出錯誤并報告谈宛。這個階段的輸入是在編輯期間產(chǎn)生的文件,常稱為源文件欢伏。

編譯器能找出程序中很多無效的和無法識別的錯誤入挣,包括結(jié)構(gòu)錯誤,例如程序的某個部分永遠不會執(zhí)行硝拧。編譯器輸出的結(jié)構(gòu)叫作對象代碼径筏,存放它們的文件叫作對象文件。在 Linux 中這些文件的擴展名通常是 .o障陶,在 Windows 下面這些文件的擴展名通常是 .obj 滋恬。如果編譯成功就會生成一個文件,它與源文件同名抱究。但擴展名為 .o 或者 .obj 恢氯。

其實我們在上一節(jié)編寫第一個 C 語言程序的時候,使用的

 gcc -o 1-1 1-1.c 

這條命令既包含了編譯也包含了鏈接,所以直接生成了可執(zhí)行文件 1-1 勋拟。

在 Linux 下編譯是在源代碼文件所在目錄輸入以下命令(假如源代碼文件是上節(jié)課的 1-1.c):

gcc -c 1-1.c

這時源文件所在的目錄將會生成 1-1.o 的文件勋磕。

鏈接

鏈接器將源代碼文件中由編譯器產(chǎn)生的各種對象模塊組合起來,再從 C 語言提供的程序庫中添加必要的代碼模塊敢靡,將它們組合成一個可執(zhí)行文件挂滓。鏈接器也可以檢測和報告錯誤,例如程序中引用了一個根本不存在的庫組件啸胧。鏈接一旦成功赶站,就會生成可執(zhí)行文件,在 Windows 下面可執(zhí)行文件的擴展名是 .exe纺念,在 Linux 下面贝椿,可執(zhí)行文件沒有擴展名,但它的文件類型是可執(zhí)行的陷谱。

在編譯生成 .o 文件的基礎(chǔ)上我們將會輸入以下命令(以編譯生成 1-1.o 為例):

gcc -o 1-1 1-1.o

這時 1-1.o 所在的目錄將會生成 1-1 可執(zhí)行文件烙博。

多數(shù)情況下,我們是通過

gcc -o 1-1 1-1.c

一次性完成編譯和鏈接叭首。

執(zhí)行

執(zhí)行階段就是成功完成了前述的三個過程后习勤,運行程序。但是這個階段可能會出現(xiàn)各種錯誤焙格,包括輸出錯誤,計算機什么也不做哦夷都,甚至是計算機崩潰眷唉。無論如何,都需要我們返回編輯階段囤官,檢查并修改源代碼冬阳。相信大家都還記得上一節(jié)課的執(zhí)行命令,在文件所在目錄執(zhí)行:

./可執(zhí)行文件name
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末党饮,一起剝皮案震驚了整個濱河市肝陪,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌刑顺,老刑警劉巖氯窍,帶你破解...
    沈念sama閱讀 222,378評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異蹲堂,居然都是意外死亡狼讨,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,970評論 3 399
  • 文/潘曉璐 我一進店門柒竞,熙熙樓的掌柜王于貴愁眉苦臉地迎上來政供,“玉大人,你說我怎么就攤上這事〔几簦” “怎么了离陶?”我有些...
    開封第一講書人閱讀 168,983評論 0 362
  • 文/不壞的土叔 我叫張陵,是天一觀的道長衅檀。 經(jīng)常有香客問我招刨,道長,這世上最難降的妖魔是什么术吝? 我笑而不...
    開封第一講書人閱讀 59,938評論 1 299
  • 正文 為了忘掉前任计济,我火速辦了婚禮,結(jié)果婚禮上排苍,老公的妹妹穿的比我還像新娘沦寂。我一直安慰自己,他們只是感情好淘衙,可當我...
    茶點故事閱讀 68,955評論 6 398
  • 文/花漫 我一把揭開白布传藏。 她就那樣靜靜地躺著,像睡著了一般彤守。 火紅的嫁衣襯著肌膚如雪毯侦。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,549評論 1 312
  • 那天具垫,我揣著相機與錄音侈离,去河邊找鬼。 笑死筝蚕,一個胖子當著我的面吹牛卦碾,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播起宽,決...
    沈念sama閱讀 41,063評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼洲胖,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了坯沪?” 一聲冷哼從身側(cè)響起绿映,我...
    開封第一講書人閱讀 39,991評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎腐晾,沒想到半個月后叉弦,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,522評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡赴魁,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,604評論 3 342
  • 正文 我和宋清朗相戀三年卸奉,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片颖御。...
    茶點故事閱讀 40,742評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡榄棵,死狀恐怖凝颇,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情疹鳄,我是刑警寧澤拧略,帶...
    沈念sama閱讀 36,413評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站瘪弓,受9級特大地震影響垫蛆,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜腺怯,卻給世界環(huán)境...
    茶點故事閱讀 42,094評論 3 335
  • 文/蒙蒙 一袱饭、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧呛占,春花似錦虑乖、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,572評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至帜篇,卻和暖如春糙捺,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背笙隙。 一陣腳步聲響...
    開封第一講書人閱讀 33,671評論 1 274
  • 我被黑心中介騙來泰國打工洪灯, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人竟痰。 一個月前我還...
    沈念sama閱讀 49,159評論 3 378
  • 正文 我出身青樓婴渡,卻偏偏與公主長得像,于是被迫代替她去往敵國和親凯亮。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,747評論 2 361

推薦閱讀更多精彩內(nèi)容