當前位置:才華齋>計算機>C語言>

怎麼在Linux下執行C語言程式

C語言 閱讀(2.28W)

Linux系統下某些編譯程式如果使用了原始套接字,就需要root許可權才能執行,但是程式正在執行時又無法提升許可權。那怎麼在Linux下執行C語言程式呢?歡迎大家閱讀!更多相關資訊請關注相關欄目!

怎麼在Linux下執行C語言程式

Gedit

Gedit是一個簡單實用的文字編輯器,擁有漂亮的介面,支援語法高亮,比 Vim 更易上手。本教程將Gedit作為C程式碼編輯器。

Gedit的安裝

sudo apt-add-repository ppa:ubuntu-on-rails/ppa //新增ubuntu的軟體源

sudo apt-get //更新軟體列表

sudo apt-get install gedit-gmate //安裝

在當前目錄下建立一個C原始檔並開啟:

touch test.c

gedit test.c

可以看到gedit的視窗,輸入:

#include#includeint main(){printf("Hello,Linux.");exit(0);}

gedit 視窗截圖

注意:Gedit支援多種語言的高亮顯示,一般情況下能夠自動識別語言,如果識別錯誤,請在“編輯->高亮模式“下選擇C。

GCC

Linux下使用最廣泛的C/C++編譯器是GCC,大多數的Linux發行版本都預設安裝,不管是開發人員還是初學者,一般都將GCC作為Linux下首選的編譯工具。本教程毫不猶豫地使用GCC來編譯C程式。

儲存檔案後退出,開啟終端並cd到當前目錄,輸入下面的命令:

gcc test.c -o test

可以直接將C程式碼編譯連結為可執行檔案。

可以看到在當前目錄下多出一個檔案 test,這就是可執行檔案。不像Windows,Linux不以檔案字尾來區分可執行檔案,Linux下的可執行檔案字尾理論上是可以任意更改的.。

當然,也可以分步編譯:

1)預處理

gcc-Etest.c-otest.i

在當前目錄下會多出一個預處理結果檔案 test.i,開啟 test.i 可以看到,在 test.c 的基礎上把stdio.h和stdlib.h的內容插 進去了。

2)編譯為彙編程式碼

gcc-Stest.i-otest.s

其中-S引數是在編譯完成後退出,-o為指定檔名。

3)彙編為目標檔案

gcc-ctest.s-otest.o

.o就是目標檔案。目標檔案與可執行檔案類似,都是機器能夠識別的可執行程式碼,但是由於還沒有連結,結構會稍有不同。

3) 連結並生成可執行檔案

gcctest.o-otest

如果有多個原始檔,可以這樣來編譯:

gcc-ctest1.c-otest1.o

gcc-ctest2.c-otest2.o

t2.o-otest

注意:如果不指定檔名,GCC會生成名為的檔案,檔案只是為了區分編譯後的檔案,Linux下並沒有標準的可執行檔案字尾名,一般可執行檔案都沒有後綴名。

編譯後生成的test檔案就是程式了,執行它:

./test

如果沒有執行許可權,可以使用sudo命令來增加許可權(注意要在Linux的分割槽下):

sudocdmodtest777

對於程式的檢錯,我們可以用-pedantic、-Wall、-Werror選項:

-pedantic選項能夠幫助程式設計師發現一些不符合ANSI/ISOC標準的程式碼(並不是全部);

-Wall可以讓gcc顯示警告資訊;

-Werror可以讓gcc在編譯中遇到錯誤時停止繼續。

這3個選項都是非常有用的。