亚洲一级免费看,特黄特色大片免费观看播放器,777毛片,久久久久国产一区二区三区四区,欧美三级一区二区,国产精品一区二区久久久久,人人澡人人草

C語(yǔ)言

怎么在Linux下運(yùn)行C語(yǔ)言程序

時(shí)間:2025-04-26 20:44:32 C語(yǔ)言 我要投稿
  • 相關(guān)推薦

怎么在Linux下運(yùn)行C語(yǔ)言程序

  Linux系統(tǒng)下某些編譯程序如果使用了原始套接字,就需要root權(quán)限才能運(yùn)行,但是程序正在運(yùn)行時(shí)又無(wú)法提升權(quán)限。那怎么在Linux下運(yùn)行C語(yǔ)言程序呢?歡迎大家閱讀!更多相關(guān)信息請(qǐng)關(guān)注相關(guān)欄目!

  Gedit

  Gedit是一個(gè)簡(jiǎn)單實(shí)用的文本編輯器,擁有漂亮的界面,支持語(yǔ)法高亮,比 Vim 更易上手。本教程將Gedit作為C代碼編輯器。

  Gedit的安裝:

  sudo apt-add-repository ppa:ubuntu-on-rails/ppa //添加ubuntu的軟件源

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

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

  在當(dāng)前目錄下創(chuàng)建一個(gè)C源文件并打開:

  touch test.c

  gedit test.c

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

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

  gedit 窗口截圖

  注意:Gedit支持多種語(yǔ)言的高亮顯示,一般情況下能夠自動(dòng)識(shí)別語(yǔ)言,如果識(shí)別錯(cuò)誤,請(qǐng)?jiān)凇熬庉?>高亮模式“下選擇C。

  GCC

  Linux下使用最廣泛的C/C++編譯器是GCC,大多數(shù)的Linux發(fā)行版本都默認(rèn)安裝,不管是開發(fā)人員還是初學(xué)者,一般都將GCC作為L(zhǎng)inux下首選的編譯工具。本教程毫不猶豫地使用GCC來(lái)編譯C程序。

  保存文件后退出,打開終端并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-Etest.c-otest.i

  在當(dāng)前目錄下會(huì)多出一個(gè)預(yù)處理結(jié)果文件 test.i,打開 test.i 可以看到,在 test.c 的基礎(chǔ)上把stdio.h和stdlib.h的內(nèi)容插 進(jìn)去了。

  2)編譯為匯編代碼

  gcc-Stest.i-otest.s

  其中-S參數(shù)是在編譯完成后退出,-o為指定文件名。

  3)匯編為目標(biāo)文件

  gcc-ctest.s-otest.o

  .o就是目標(biāo)文件。目標(biāo)文件與可執(zhí)行文件類似,都是機(jī)器能夠識(shí)別的可執(zhí)行代碼,但是由于還沒有鏈接,結(jié)構(gòu)會(huì)稍有不同。

  3) 鏈接并生成可執(zhí)行文件

  gcctest.o-otest

  如果有多個(gè)源文件,可以這樣來(lái)編譯:

  gcc-ctest1.c-otest1.o

  gcc-ctest2.c-otest2.o

  gcctest1.otest2.o-otest

  注意:如果不指定文件名,GCC會(huì)生成名為a.out的文件,.out文件只是為了區(qū)分編譯后的文件,Linux下并沒有標(biāo)準(zhǔn)的可執(zhí)行文件后綴名,一般可執(zhí)行文件都沒有后綴名。

  編譯后生成的test文件就是程序了,運(yùn)行它:

  ./test

  如果沒有運(yùn)行權(quán)限,可以使用sudo命令來(lái)增加權(quán)限(注意要在Linux的分區(qū)下):

  sudocdmodtest777

  對(duì)于程序的檢錯(cuò),我們可以用-pedantic、-Wall、-Werror選項(xiàng):

  -pedantic選項(xiàng)能夠幫助程序員發(fā)現(xiàn)一些不符合ANSI/ISOC標(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ǔ)言程序02-17

Linux下編譯C語(yǔ)言程序01-31

在C-Free下運(yùn)行C語(yǔ)言程序01-23

在VS下如何運(yùn)行C語(yǔ)言程序04-09

怎么在Dev C++下運(yùn)行C語(yǔ)言04-04

在VS2015下運(yùn)行C語(yǔ)言程序07-06

在VC6.0下如何運(yùn)行C語(yǔ)言程序05-07

Linux下如何學(xué)習(xí)C語(yǔ)言05-11

怎么在linux的CLI下運(yùn)行php文件05-26