【C语言】C语言Code的编译与执行
1.編譯并執(zhí)行一個(gè)簡單的C程序(不依賴IDE)
C程序可以在許多不同的機(jī)器上運(yùn)行。這種可移植性是C語言的另一個(gè)優(yōu)點(diǎn)。程序首先在目標(biāo)機(jī)器上使用C編譯器編譯。存在略有不同的C編譯器版本,包括cc(C編譯器),或者gcc(GNU C編譯器)。
這里我們用gcc編譯并運(yùn)行一個(gè)C程序,該編譯器可以免費(fèi)下載。它可以直接運(yùn)行在Linux機(jī)器上,也可以在Windows機(jī)器上通過Cygwin環(huán)境訪問。它可以用于許多嵌入式系統(tǒng),如Microchip PIC32微控制器。
下面描述的C文件創(chuàng)建、編譯和執(zhí)行的一般過程對(duì)于任何C程序都是相同的。
2.編譯多個(gè)C源文件
一組C文件中只能包含一個(gè)main()函數(shù),通常在main.c中,切記切記。
編譯命令:
3.編譯器選項(xiàng)
命令行中輸入gcc --help可以查看。
下面是一些編譯器選項(xiàng):
| -ooutfile | 指定輸出文件名 | gcc -o hello hello.c |
| -S | 創(chuàng)建匯編語言輸出文件(不可執(zhí)行) | gcc -S hello.c this produces hello.s |
| -v | 詳細(xì)模式——在完成編譯時(shí)輸出編譯結(jié)果和過程 | gcc -v hello.c |
| -Olevel | 指定優(yōu)化水平(通常為0~3),生成更快和更小的代碼,但是代價(jià)是編譯時(shí)間長 | gcc -O2 hello.c |
| –version | 列出編譯器版本 | gcc -version |
| –help | 列出所有命令行選項(xiàng) | gcc - -help |
| –Wall | 輸出所有警告 | gcc -Wall hello.c |
4.命令行參數(shù)
argc表示參數(shù)計(jì)數(shù),表示命令行上參數(shù)的個(gè)數(shù);argv表示參數(shù)向量,為命令行上發(fā)現(xiàn)的字符串?dāng)?shù)組。
下面的C語言代碼:
編譯:
gcc -o testargs.c ./testargs arg1 25 lastarg!控制臺(tái)輸出:
argv[0]=./testargs argv[1]=arg1 argv[2]=25 argv[3]=lastarg!需要數(shù)字參數(shù)的程序可以使用stdlib.h中的函數(shù)將字符串參數(shù)轉(zhuǎn)換為數(shù)字。
5.編譯過程中編譯器的整體操作
每種機(jī)器語言特定于一種給定的機(jī)器,因此程序必須專門為其將要運(yùn)行的系統(tǒng)進(jìn)行編譯。
總結(jié)
以上是生活随笔為你收集整理的【C语言】C语言Code的编译与执行的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 埃氏筛秒素数题(洛谷P5723题题解,J
- 下一篇: 数据获取之网络爬虫专栏简介