日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

C 语言编译器 gcc 命令详解

發布時間:2024/3/24 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C 语言编译器 gcc 命令详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Linux 系統中最重要的軟件開發工具是 gcc,在 Linux 系統中,c89、cc 和 gcc 這些命令基本上都指向系統的C語言編譯器,通常是GNU C編譯器,或都簡稱 gcc。在 UNIX 系統中,C 語言編譯器稱為 cc。實際上,gcc 能夠編譯三種語言:C、C++ 和 Object C(C 語言的一種面向對象擴展)。利用 gcc 命令可同時編譯并連接 C 和 C++ 源程序,一般來說,C 編譯器通過源文件的后綴名來判斷是 C 程序還是 C++ 程序。在 Linux 中,C 源文件的后綴名為 .c,而 C++ 源文件的后綴名為 .C 或 .cpp。對于 C++ 程序,gcc 命令只能編譯 C++ 源文件,而不能自動和 C++ 程序使用的庫連接。因此,通??梢允褂?g++ 命令來完成 C++ 程序的編譯和連接,該程序會自動調用 gcc 實現編譯。本人一直都是在 Linux系統編譯 C程序的,就 gcc 命令行的作用記錄下來。

首先通過編寫、編譯和運行一個 HelloWorld 程序實例開始哦
一、源代碼
/* hello.c */
#include <stdio.h>
#include <stdlib.h>

int main(void)
{
printf(“Hello World!”);
return 0;
}

二、 編譯、鏈接和運行程序
#gcc -o hello hello.c
#./hello
Hello World!

命令選項的作用:

  • -o Place the output into
    如:#gcc -o file file.c
    -o 告訴編譯器將可執行程序放在何處,如果沒有指定文件名稱,編譯器則會把程序放在一個名為a.out的文件里(a.out的含義是 assembler output,即匯編輸出)。

  • -c Compile and assemble, but do not link
    如:#gcc -c file.c
    -c 告訴編譯器僅把源代碼編譯為目標模塊(file.o)而跳過匯編和連接的步驟。在使用-c生成目標模塊后,就可以通過-o選項來生成可執行文件。如:#gcc -o file file1.o file2.o 可以是多個目標模塊。

  • -l和-L
    指示編譯器程序要鏈接的庫。其中-L要增加庫的搜索路徑。如:hello.so動態庫放在/usr/cprimer目錄下,那就是 -L/user/cprimer

  • -O
    如:#gcc file.c -O2,
    用來優化程序用的。優化程序,執行速度可能也有所提高,從未真正測試過。

  • -include
    -include 告訴編譯器需要包含頭文件,但一般情況下包含頭文件都在源碼里用#include xxxxxx實現,一般很少用這個選項。

  • 總結

    以上是生活随笔為你收集整理的C 语言编译器 gcc 命令详解的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。