第七章 进程环境 | 001 命令形参、gcc与g++的使用
命令行參數(shù)是使用main()函數(shù)參數(shù)來處理的,其中,argc是指?jìng)魅雲(yún)?shù)的個(gè)數(shù),argv[]是一個(gè)指針數(shù)組,指向傳遞給程序的每個(gè)參數(shù)。
應(yīng)當(dāng)指出的是, argv[0]存儲(chǔ)程序的名稱,argv[1]是一個(gè)指向第一個(gè)命令行參數(shù)的指針,argv[n]是最后一個(gè)參數(shù)。 如果沒有提供任何參數(shù),argc 將為1,否則,如果傳遞了一個(gè)參數(shù),argc將被設(shè)置為2。
多個(gè)命令行參數(shù)之間用空格分隔,但是如果參數(shù)本身帶有空格,那么傳遞參數(shù)的時(shí)候應(yīng)把參數(shù)放置在雙引號(hào)或單引號(hào)內(nèi)部。
測(cè)試代碼:
編譯與運(yùn)行
語法 gcc(選項(xiàng))(參數(shù))選項(xiàng): -o: 指定生成的輸出文件; -E: 僅執(zhí)行編譯預(yù)處理; -S: 將C代碼轉(zhuǎn)換為匯編代碼; -wall: 顯示警告信息;-c: 僅執(zhí)行編譯操作,不進(jìn)行連接操作。 參數(shù):C源文件(指定C語言源代碼文件)
1.選項(xiàng) -o:將test.c預(yù)處理、匯編、編譯并鏈接形成可執(zhí)行文件test。-o選項(xiàng)用來指定輸出文件的文件名。
gcc test.c -o test2.選項(xiàng) -E:將test.c預(yù)處理輸出test.i文件。
gcc -E test.c -o test.i3.選項(xiàng) -c:將預(yù)處理輸出文件test.i匯編成test.s文件。
gcc -E test.c -o test.i4.選項(xiàng) -O:使用編譯優(yōu)化級(jí)別1編譯程序。級(jí)別為1~3,級(jí)別越大優(yōu)化效果越好,但編譯時(shí)間越長(zhǎng)。
gcc -O1 test.c -o test**如果有多個(gè)源文件,基本上有兩種編譯方法:**
【問題】假設(shè)有兩個(gè)源文件為test.c和testfun.c
1.多個(gè)文件一起編譯:將testfun.c和test.c分別編譯后鏈接成test可執(zhí)行文件。
多個(gè)文件一起編譯:將testfun.c和test.c分別編譯后鏈接成test可執(zhí)行文件。2.分別編譯各個(gè)源文件,之后對(duì)編譯后輸出的目標(biāo)文件鏈接。
gcc -c testfun.c #將testfun.c編譯成testfun.o gcc -c test.c #將test.c編譯成test.o gcc -o testfun.o test.o -o test #將testfun.o和test.o鏈接成test以上兩種方法相比較,第一中方法編譯時(shí)需要所有文件重新編譯,而第二種方法可以只重新編譯修改的文件,未修改的文件不用重新編譯。
鏈接:Linux的g++的使用
總結(jié)
以上是生活随笔為你收集整理的第七章 进程环境 | 001 命令形参、gcc与g++的使用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 3000元价位的投影仪怎么选呢?
- 下一篇: 001 makefile的使用