Linux GCC用法
生活随笔
收集整理的這篇文章主要介紹了
Linux GCC用法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
GCC原名為GNU C語言編譯器(GNU C Compiler),只能處理C語言。但其很快擴展,變得可處理C++,后來又擴展為能夠支持更多編程語言,如Fortran、Pascal、Objective -C、Java、Ada、Go以及各類處理器架構上的匯編語言等,所以改名GNU編譯器套件(GNU Compiler Collection。
在使用gcc編譯程序時,編譯過程可以細分為4個階段:
以最簡單的HelloWorld程序為例,hello.c的一生如下圖所示:
下面以hello.c程序為實例,簡單介紹Linux下gcc命令的用法,通過gcc命令來輸出編譯過程中每一步生成的文件,理解C語言程序從編譯到運行的整個流程。
在Ubuntu20.04中創建hello.c:
/*hello.c*/#include<stdio.h> int main() {printf("hello, world!\n");return 0; }gcc 命令的常用選項
| -x language filename | 設定文件所使用的語言, 使后綴名無效, 對以后的多個有效。 |
| -save-temps | 保存編譯過程中生成的一些列中間文件。 |
| -c | 只激活預處理,編譯,和匯編,也就是他只把程序做成obj文件 |
| -S | 只激活預處理和編譯,就是指把文件編譯成為匯編代碼,可以用文本編輯器查看。 |
| -E | 只激活預處理,這個不生成文件, 你需要把它重定向到一個輸出文件里面。如gcc -E hello.c > pianoapan.txt或gcc -E hello.c | more |
| -ansi | 只支持 ANSI 標準的 C 語法。這一選項將禁止 GNU C 的某些特色, 例如 asm 或 typeof 關鍵詞。 |
| -g | 生成調試信息。GNU 調試器可利用該信息。 |
| -o FILE | 生成指定的輸出文件。用在生成可執行文件時。 |
| -O0 | 不進行優化處理。 |
| -Og | 不進行優化處理。 |
| -O 或 -O1 | 優化生成代碼。 |
| -O2 | 進一步優化。 |
| -O3 | 比 -O2 更進一步優化,包括 inline 函數。 |
| -w | 不生成任何警告信息。 |
| -Wall | 生成所有警告信息。 |
總結
以上是生活随笔為你收集整理的Linux GCC用法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于以太坊的分布式投票系统solidit
- 下一篇: 汇编语言快速入门学习笔记