格式 gcc [option] [sourcefilename]
創(chuàng)新互聯(lián)公司主要從事網(wǎng)站建設(shè)、成都網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)葉集,10余年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專(zhuān)業(yè),歡迎來(lái)電咨詢(xún)建站服務(wù):028-86922220
介紹一些常用的選項(xiàng):最簡(jiǎn)單的是:gcc hello.c
默認(rèn)的情況下將生成a.out的可執(zhí)行性文件,你只需要在終端上輸入./a.out就可以看到執(zhí)行的結(jié)果.
如果你想指定生成目標(biāo)文件的名字那么你可以加上 -o選項(xiàng),命令如下:
gcc -o hello hello.c
命令如下:
gcc -c hello hello.c
make是用來(lái)編譯的,它從Makefile中讀取指令,然后編譯。
make install是用來(lái)安裝的,它也從Makefile中讀取指令,安裝到指定的位置。
用法:
1、make:
這一步就是編譯,大多數(shù)的源代碼包都經(jīng)過(guò)這一步進(jìn)行編譯(當(dāng)然有些perl或python編寫(xiě)的軟件需要調(diào)用perl或python來(lái)進(jìn)行編譯)。
如果 在 make 過(guò)程中出現(xiàn) error ,就要記下錯(cuò)誤代碼(注意不僅僅是最后一行),然后可以向開(kāi)發(fā)者提交 bugreport(一般在 INSTALL 里有提交地址)。
或者系統(tǒng)少了一些依賴(lài)庫(kù)等,這些需要自己仔細(xì)研究錯(cuò)誤代碼。
make 的作用是開(kāi)始進(jìn)行源代碼編譯,以及一些功能的提供,這些功能由他的 Makefile 設(shè)置文件提供相關(guān)的功能。
比如 make install 一般表示進(jìn)行安裝,make uninstall 是卸載,不加參數(shù)就是默認(rèn)的進(jìn)行源代碼編譯。
make 是 Linux 開(kāi)發(fā)套件里面自動(dòng)化編譯的一個(gè)控制程序,他通過(guò)借助 Makefile 里面編寫(xiě)的編譯規(guī)范進(jìn)行自動(dòng)化的調(diào)用 gcc 、ld 以及運(yùn)行某些需要的程序進(jìn)行編譯的程序。
一般情況下,他所使用的 Makefile 控制代碼,由 configure 這個(gè)設(shè)置腳本根據(jù)給定的參數(shù)和系統(tǒng)環(huán)境生成。
2、make install
這條命令來(lái)進(jìn)行安裝(當(dāng)然有些軟件需要先運(yùn)行 make check 或 make test來(lái)進(jìn)行一些測(cè)試),這一步一般需要你有 root 權(quán)限(因?yàn)橐蛳到y(tǒng)寫(xiě)入文件)。
擴(kuò)展資料
當(dāng)我們?cè)谑褂胢ake命令時(shí),常常會(huì)在make后面加上其他單詞,比如check,install,installcheck…這些單詞都是make的參數(shù),我們稱(chēng)之為“目標(biāo)(targets)”。
最常見(jiàn)的幾個(gè)目標(biāo):
make all:編譯程序、庫(kù)、文檔等(等同于make)
make install:安裝已經(jīng)編譯好的程序。復(fù)制文件樹(shù)中到文件到指定的位置
make unistall:卸載已經(jīng)安裝的程序。
make clean:刪除由make命令產(chǎn)生的文件
make distclean:刪除由./configure產(chǎn)生的文件
make check:測(cè)試剛剛編譯的軟件(某些程序可能不支持)
make installcheck:檢查安裝的庫(kù)和程序(某些程序可能不支持)
make dist:重新打包成packname-version.tar.gz
編譯方法:格式 gcc [option] [sourcefilename]常用的選項(xiàng)最簡(jiǎn)單的是:gcc hello.c默認(rèn)的情況下將生成a.out的可執(zhí)行性文件,
只需要在終端上輸入./a.out就可以看到執(zhí)行的結(jié)果,如果你想指定生成目標(biāo)文件的名字那么你可以加上 -o選項(xiàng),命令如下:gcc -o hello hello.c
命令:gcc -c hello hello.c
擴(kuò)展資料:
gcc命令的基本用法
gcc[options]?[filenames] ?
其中,filenames為文件名;options為編譯選項(xiàng)。
當(dāng)不使用任何編譯選項(xiàng)編譯hello.c時(shí),gcc將會(huì)自動(dòng)編譯產(chǎn)生一個(gè)a.out的可執(zhí)行文件:
[root@localhost?c]#?ls ?
hello.c ?
[root@localhost?c]#?gcc?hello.c ?
[root@localhost?c]#?ls ?
a.out??hello.c?
執(zhí)行:
[root@localhost?c]#?./a.out ?
Hello,?World!?
使用-o編譯選擇,可以為編譯后的文件指定一個(gè)名字:
[root@localhost?c]#?ls ?
a.out??hello.c ?
[root@localhost?c]#?gcc?hello.c?-o?hello ?
[root@localhost?c]#?ls ?
a.out??hello??hello.c ?
執(zhí)行:
[root@localhost?c]#?./hello ?
Hello,?World!?
注意:使用-o選項(xiàng)時(shí),-o后面必須跟一個(gè)文件名,即:-o outfile。
為了便于描述后面的選項(xiàng),刪除hello和a.out可執(zhí)行文件。
Linux編譯安裝相關(guān)命令,下面以Linux安裝MySQL工具為例進(jìn)行說(shuō)明,代碼如下:
1、測(cè)試環(huán)境在Linux MySQL下進(jìn)行,版本系統(tǒng)為CentOS5,以下為相關(guān)軟件:
mysql-5.1.30
memcached-1.2.6
libevent-1.4.7-stable
memcached_functions_mysql-0.8
libmemcached-0.26
2、編譯安裝Linux MySQL
[root@localhost?~]#tar?xzf?mysql-5.1.30.tar_001.gz??
[root@localhost?~]#cd?mysql-5.1.30??
[root@localhost?~]#./configure?--prefix=/usr/local/mysql51??
[root@localhost?~]#make??
[root@localhost?~]#make?install??
[root@localhost?~]#./scripts/mysql_install_db?--user=mysql?--skip-name-resolve??
[root@localhost?~]#/usr/local/mysql51/bin/mysqld_safe?
#連接符這是放入后臺(tái),是前一個(gè)正確執(zhí)行,才會(huì)執(zhí)行后一個(gè)
#Linux編譯安裝流程./configure??make??make?install(默認(rèn)目錄安裝)
#./configure?--prefix=/usr/local/pcre??make??make?install(指定安裝目錄)
1、首先在linux下判斷是否安裝gcc編譯器,直接執(zhí)行:gcc -v,判斷是否安裝gcc。
2、然后需要在代碼框內(nèi)寫(xiě)一個(gè)簡(jiǎn)單的C源程序。
3、在程序中使用了C語(yǔ)言中的數(shù)學(xué)開(kāi)方函數(shù),sqrt(),所以需要引入math.h頭文件。
4、寫(xiě)完源程序之后,我們對(duì)其進(jìn)行編譯,如果使用通常的編譯語(yǔ)句,【gcc math.c -o math】進(jìn)行編譯,會(huì)出現(xiàn)錯(cuò)誤;大概的意思就是不認(rèn)識(shí)sqrt這個(gè)東西。
5、所以需要使用正確的命令:【gcc math.c -lm -o math】;這樣才能編譯正確。
到目錄下用以下命令
makefile
make
其中make是編譯
makefile是清單文件
當(dāng)前名稱(chēng):linux編譯命令有哪些 linux中最常用的編譯器
分享URL:http://vcdvsql.cn/article0/hejeoo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、面包屑導(dǎo)航、虛擬主機(jī)、動(dòng)態(tài)網(wǎng)站、服務(wù)器托管、手機(jī)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)