国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Linux學習篇------gcc編譯及Makefile基本知識

2019-11-08 02:55:55
字體:
來源:轉載
供稿:網友

1.編寫一個主程序,在主程序中調用某個子程序

thank.c#include <stdio.h>int main(void){ 如何將兩個程序連接到一起,在linux的終端中執行命令

gcc -c thank.c thank2.c //gcc -c xxx.c 會生成.o目標文件gcc -o thank thank.o thank2.o //gcc -o xxx.o會生成可執行二進制文件,若沒有指定名字,默認為a.out./thank //執行ll thank* //查看thank的文件

顯示警告信息 gcc -Wall -c thank.c thank2.c 2.調用外部函數:加入鏈接的函數庫

sin.c中#include <stdio.h>int main(void){ float value; value = sin(3.14/2); printf("%f/n",value);}

若直接使用gcc -c sin.c會出現無法找到sin函數的錯誤(undefines reference to sin) 所以 必須要連接必要的庫(C語言里面的sin函數在linm.so這個函數庫中)

gcc -c sin.c -lm -L/lib -L/usr/lib

總結gcc的用法

//僅編譯生成鏈接文件gcc -c hello.c//直接編譯生成可執行文建(不加參數./a.out)gcc hello.c//在編譯的時候依據操作環境給予優化執行速度gcc -O hello.c -c//在制作二進制文件的時候,將鏈接的函數庫與相關路徑填入gcc sin.c -lm -L/usr/lib -I/usr/include//-lm是指libm.so或libm.a這個函數庫文件//-L后面接的是路徑是剛才上面那個函數庫的搜索目錄//-I后面接的是源碼內的include文件所在目錄//生成某個特定名字的可執行文件gcc -o hello hello.c//顯示警告信息gcc -o hello hello.c -Wall

2.Makefile的基本用法 一、基本規則: (1)makefile中#表示批注 (2)在命令行前一定要用 (3)目標與相關文件之間用:隔開

vi makefilemain:main.o hh.o sin.o cos.o gcc -o main main.o hh.o sin.o cos.oclean: rm -f main main.o hh.o sin.o cos.o

想要先清除信息在建立main信息,可以make clean main 二、可以使用shell script簡化腳本

LIBS = -lmOBJS = main.o hh.o sin.o cos.omain:${OBJS} gcc -o main ${OBJS} ${LIBS}clean: rm -f main ${OBJS}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 诸暨市| 酉阳| 罗平县| 庐江县| 乌拉特后旗| 湘阴县| 惠州市| 敦化市| 班玛县| 大连市| 潮州市| 山西省| 攀枝花市| 五河县| 兰西县| 宁明县| 台前县| 和龙市| 淄博市| 大冶市| 大港区| 任丘市| 景宁| 佛坪县| 河津市| 团风县| 山东| 长沙市| 永胜县| 哈巴河县| 平舆县| 炎陵县| 铜鼓县| 耿马| 宁夏| 胶州市| 革吉县| 泰和县| 莱西市| 新泰市| 镇雄县|