- 相關(guān)推薦
如何在Linux下運(yùn)行C語(yǔ)言程序
C語(yǔ)言是一個(gè)有結(jié)構(gòu)化程序設(shè)計(jì)、具有變量作用域(variable scope)以及遞歸功能的過(guò)程式語(yǔ)言。以下是小編為大家搜索整理的如何在Linux下運(yùn)行C語(yǔ)言程序,希望能給大家?guī)?lái)幫助!更多精彩內(nèi)容請(qǐng)及時(shí)關(guān)注我們應(yīng)屆畢業(yè)生考試網(wǎng)!
Gedit
Gedit是一個(gè)簡(jiǎn)單實(shí)用的文本編輯器,擁有漂亮的界面,支持語(yǔ)法高亮,比 Vim 更易上手。本教程將Gedit作為C代碼編輯器。
Gedit的安裝:
sudo apt-add-repository ppa:ubuntu-on-rails/ppa //添加ubuntu的軟件源
sudo apt-get update //更新軟件列表
sudo apt-get install gedit-gmate //安裝
在當(dāng)前目錄下創(chuàng)建一個(gè)C源文件并打開(kāi):
touch test.c
gedit test.c
可以看到gedit的窗口,輸入:
#include
#include
int main()
{
printf("Hello,Linux.\n");
exit(0);
}
gedit 窗口截圖
注意:Gedit支持多種語(yǔ)言的高亮顯示,一般情況下能夠自動(dòng)識(shí)別語(yǔ)言,如果識(shí)別錯(cuò)誤,請(qǐng)?jiān)?ldquo;編輯->高亮模式“下選擇C。
GCC
Linux下使用最廣泛的C/C++編譯器是GCC,大多數(shù)的Linux發(fā)行版本都默認(rèn)安裝,不管是開(kāi)發(fā)人員還是初學(xué)者,一般都將GCC作為L(zhǎng)inux下首選的編譯工具。本教程毫不猶豫地使用GCC來(lái)編譯C程序。
保存文件后退出,打開(kāi)終端并 cd 到當(dāng)前目錄,輸入下面的命令:
gcc test.c -o test
可以直接將C代碼編譯鏈接為可執(zhí)行文件。
可以看到在當(dāng)前目錄下多出一個(gè)文件 test,這就是可執(zhí)行文件。不像Windows,Linux不以文件后綴來(lái)區(qū)分可執(zhí)行文件,Linux下的可執(zhí)行文件后綴理論上是可以任意更改的。
當(dāng)然,也可以分步編譯:
1) 預(yù)處理
gcc -E test.c -o test.i
在當(dāng)前目錄下會(huì)多出一個(gè)預(yù)處理結(jié)果文件 test.i,打開(kāi) test.i 可以看到,在 test.c 的基礎(chǔ)上把stdio.h和stdlib.h的內(nèi)容插進(jìn)去了。
2) 編譯為匯編代碼
gcc -S test.i -o test.s
其中-S參數(shù)是在編譯完成后退出,-o為指定文件名。
3) 匯編為目標(biāo)文件
gcc -c test.s -o test.o
.o就是目標(biāo)文件。目標(biāo)文件與可執(zhí)行文件類似,都是機(jī)器能夠識(shí)別的可執(zhí)行代碼,但是由于還沒(méi)有鏈接,結(jié)構(gòu)會(huì)稍有不同。
3) 鏈接并生成可執(zhí)行文件
gcc test.o -o test
如果有多個(gè)源文件,可以這樣來(lái)編譯:
gcc -c test1.c -o test1.o
gcc -c test2.c -o test2.o
gcc test1.o test2.o -o test
注意:如果不指定文件名,GCC會(huì)生成名為a.out的文件,.out文件只是為了區(qū)分編譯后的文件,Linux下并沒(méi)有標(biāo)準(zhǔn)的可執(zhí)行文件后綴名,一般可執(zhí)行文件都沒(méi)有后綴名。
編譯后生成的test文件就是程序了,運(yùn)行它:
./test
如果沒(méi)有運(yùn)行權(quán)限,可以使用sudo命令來(lái)增加權(quán)限(注意要在Linux的分區(qū)下):
sudo cdmod test 777
對(duì)于程序的檢錯(cuò),我們可以用-pedantic、-Wall、-Werror選項(xiàng):
-pedantic選項(xiàng)能夠幫助程序員發(fā)現(xiàn)一些不符合 ANSI/ISO C標(biāo)準(zhǔn)的代碼(并不是全部);
-Wall可以讓gcc顯示警告信息;
-Werror可以讓gcc在編譯中遇到錯(cuò)誤時(shí)停止繼續(xù)。
這3個(gè)選項(xiàng)都是非常有用的。
【如何在Linux下運(yùn)行C語(yǔ)言程序】相關(guān)文章:
怎么在Linux下運(yùn)行C語(yǔ)言程序06-08
Linux下如何學(xué)習(xí)C語(yǔ)言10-05
c語(yǔ)言入門經(jīng)典程序08-01
c語(yǔ)言鏈接程序08-26
C語(yǔ)言程序試題04-26