1、首先在linux下判斷是否安裝gcc編譯器,直接執(zhí)行:gcc -v,判斷是否安裝gcc。
創(chuàng)新互聯(lián)擁有十年成都網(wǎng)站建設(shè)工作經(jīng)驗(yàn),為各大企業(yè)提供成都做網(wǎng)站、成都網(wǎng)站建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)服務(wù),對于網(wǎng)頁設(shè)計(jì)、PC網(wǎng)站建設(shè)(電腦版網(wǎng)站建設(shè))、成都App制作、wap網(wǎng)站建設(shè)(手機(jī)版網(wǎng)站建設(shè))、程序開發(fā)、網(wǎng)站優(yōu)化(SEO優(yōu)化)、微網(wǎng)站、空間域名等,憑借多年來在互聯(lián)網(wǎng)的打拼,我們在互聯(lián)網(wǎng)網(wǎng)站建設(shè)行業(yè)積累了很多網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、網(wǎng)絡(luò)營銷經(jīng)驗(yàn),集策劃、開發(fā)、設(shè)計(jì)、營銷、管理等網(wǎng)站化運(yùn)作于一體,具備承接各種規(guī)模類型的網(wǎng)站建設(shè)項(xiàng)目的能力。
2、然后需要在代碼框內(nèi)寫一個(gè)簡單的C源程序。
3、在程序中使用了C語言中的數(shù)學(xué)開方函數(shù),sqrt(),所以需要引入math.h頭文件。
4、寫完源程序之后,我們對其進(jìn)行編譯,如果使用通常的編譯語句,【gcc math.c -o math】進(jìn)行編譯,會出現(xiàn)錯(cuò)誤;大概的意思就是不認(rèn)識sqrt這個(gè)東西。
5、所以需要使用正確的命令:【gcc math.c -lm -o math】;這樣才能編譯正確。
在Linux下面,如果要編譯一個(gè)C語言源程序,我們要使用gcc編譯器。
先將源文件編譯成目標(biāo)文件:gcc - c hello.c
生成hello.o文件,再將目標(biāo)文件編譯成可執(zhí)行文件:gcc -o hello hello.o
如:
int main(int argc,char **argv)
{
printf("Hello Linux\n");
}
擴(kuò)展資料:
在使用GCC編譯器的時(shí)候,我們必須給出一系列必要的調(diào)用參數(shù)和文件名稱。GCC編譯器的調(diào)用參數(shù)大約有100多個(gè),這里只介紹其中最基本、最常用的參數(shù)。具體可參考GCC Manual。
GCC最基本的用法是∶gcc [options] [filenames]
其中options就是編譯器所需要的參數(shù),filenames給出相關(guān)的文件名稱。
參考資料:
百度百科_gcc
打開安裝好的Linux系統(tǒng)(ubuntu18.04)
1.安裝編輯器
使用語句:sudo apt-get install vim安裝vim,可以在安裝前查看是否安裝vim編輯器。(特別提示:在安裝vim前最好將軟件更新,使用指令sudo apt-get update.)之所以要加sudo的原因是這些安裝和更新軟件的時(shí)候需要使用管理員權(quán)限才可以進(jìn)行。
2.安裝gcc編譯器
和安裝vim類似使用sudo apt-get install gcc,安裝完成后可以使用cc-v來查看編譯器版本信息等。cc -v界面如下:
3.創(chuàng)建文件夾并進(jìn)入該文件
創(chuàng)建文件夾前可以使用 指令ls 來查看該系統(tǒng)中有哪些文件。然后使用mkdir+文件夾名創(chuàng)建文件,并且查看該文件夾是否被創(chuàng)建。(假如創(chuàng)建了一個(gè)名字為workspace的文件mkdir workspace)進(jìn)入該文件則使用命令 cd workspace.然后就進(jìn)入該目錄。然后再創(chuàng)建一個(gè)文件名為les1 的文件(mkdir les1)。進(jìn)入les1文件(cd les1)。創(chuàng)建一個(gè).c文件:touch a.c。
4.編輯該文件
輸入vi a.c 進(jìn)入該界面
會發(fā)現(xiàn)用戶不能從鍵盤輸入信息,這時(shí)我們需要從鍵盤按一個(gè)i在下面會顯示INSERT(表示插入)。
然后就可以使用鍵盤輸入代碼。輸入完成以后可以按Esc退出插入操作。再同時(shí)按shift和冒號,從鍵盤輸入wq(表示保存并退出)。
5.編譯該文件
輸入指令:cc a.c(cc 是gcc 的縮寫)
若沒有報(bào)錯(cuò)則從鍵盤輸入ls查看是否生成了可以執(zhí)行的文件a.out文件。
會發(fā)現(xiàn)生成a.out文件
6.執(zhí)行該文件
使用指令 ./a.out 執(zhí)行該程序。輸出hello world !
1. 檢測/usr/src/linux/include/linux/version.h是否存在,以判斷是否以安裝內(nèi)核源碼,而如果只將內(nèi)核源碼包解壓,并不存在version.h這個(gè)文件,所以需要做如下步驟:
在內(nèi)核源碼目錄下(/usr/src/linux)
1)make include/linux/version.h 生成version.h文件
2)make include/asm 創(chuàng)建
如果從下載的源碼包,使用下列命令安裝:
cd /usr/src 進(jìn)入/usr/src目錄中,將源碼包放置在這里。
tar jxvf linux-2.6.18.tar.bz2 解壓源碼包,會生成linux-2.6.9目錄
ln -s /usr/src/linux-2.6.18 /usr/src/linux 編譯內(nèi)核建議做個(gè)軟鏈接。
并且要確保/lib/modules/2.6.18/下的build,source目錄
正確指向/usr/src/linux-2.6.18的:
[root@localhost modules]#ls -l /lib/modules/2.6.18
lrwxrwxrwx 1 root root 21 2008-07-03 14:28 build - /usr/src/linux-2.6.18/
lrwxrwxrwx 1 root root 21 2008-07-03 14:28 source - /usr/src/linux-2.6.18/
做完這些,我去安裝NVIDIA驅(qū)動,結(jié)果編譯時(shí)出錯(cuò)。
將內(nèi)核源碼編譯一次,不安裝,就可以正常編譯了
2.4.x內(nèi)核不知是否如此,如果編譯NVIDIA過程中出現(xiàn)錯(cuò)誤,就先編譯一下內(nèi)核
方法很簡單:
從/boot目錄下復(fù)制config-2.6.10到/usr/src/linux下
命名為.config
對于2.6.x內(nèi)核使用下列命令編譯:
cd /usr/src/linux 進(jìn)入源碼目錄
make 編譯內(nèi)核及模塊
注意:不要去make install 只要編譯就可以了。
2.4.x使用下列命令編譯內(nèi)核,同樣,只編譯不安裝。
cd /usr/src/linux
make dep 建立依賴關(guān)系(不知道是否有必要,做下沒壞處)
make bzImage 編譯內(nèi)核
make modules 編譯模塊
通常發(fā)行版中/boot中應(yīng)該有當(dāng)前內(nèi)核的配置文件,如上面的config-2.6.9
如果沒有的話,可以通過下列命令創(chuàng)建出.config
[root@localhost linux]# cd /usr/src/linux
[root@localhost linux]#make menuconfig 字符界面配置內(nèi)核
[root@NEWLFS linux]#make xconfig 圖形界面配置內(nèi)核
這兩種方法任選其一,喜歡的話,可以自己配置一下。
或者直接使用默認(rèn)值,保存退出即可。這樣編譯時(shí)間會長一些。
make menuconfig: 假如是在圖形界面中的終端運(yùn)行,要保證
該終端窗口為全屏,才不會出錯(cuò)。