linux下c檔案的編譯(gcc的使用)

2021-09-24 19:57:22 字數 974 閱讀 8259

輸入gcc hello.c ,然後回車,將會生成a.out,以綠色顯示的檔案  

輸入gcc hello.c -o myhello.out 或者gcc hello.c -o myhello ,然後回車即可生成以綠色顯示的檔案(linux下檔案可以沒有字尾名)

-l  鏈結庫檔案,庫檔案的名稱通常是lib***.a ,在輸入的時候,lib可以簡化為l,字尾也可以不要。 例如libm.a簡化為-lm。            為什麼需要鏈結到庫的操作呢?原因如下,比如下面的**直接用gcc hello.c 是編譯不過的,會報錯,因為雖然包含了math.h,但是sin函式其實只在math.h裡宣告了而已,並沒有實現,而其實現在庫中,因此編譯的時候需要鏈結到庫。

#include #include int main()

輸入 gcc hello.c -lm  ,將會生成綠色的a.out檔案

或輸入 gcc hello.c -o test -lm,  將生成以test命名的綠色檔案

或輸入 gcc hello.c -o test1 -l/usr/lib -lm  ,  將生成以test1命名的綠色檔案。這裡的 -l 的意思是告訴編譯器到**去找我們要的鏈結庫。

4. -l ,如3中所示,告訴編譯器到**去找鏈結庫

5.ldd a.out  ,當已經生成好a.out執行檔案以後,執行此命令,可以檢視a.out用到了哪些庫

6. -c 只編譯不鏈結

7. -s 生成彙編**

8. -e 只預編譯

gcc編譯c 檔案

gcc是編譯c語言的,預設情況下,如果直接編譯c 程式,會報錯 root server demo2 ls hello.cpp root server demo2 cat hello.cpp include using namespace std int main endifcircle.cpp in...

gcc編譯位於不同檔案下的 c檔案。

我在day2檔案下建立了乙個main.c函式,然後乙個add資料夾,乙個sub資料夾。其中add檔案下有add int.c,add float.c,add.h 然後在sub資料夾中有sub int.c,sub float.c,sub.件。include include add.h include s...

GCC編譯c語言檔案

在linux下執行c語言程式 在c語言基礎中,使用gcc編譯c語言過程一般如下 gcc 原始檔 o 目標檔案 如 gcc hello.c o hello 如果有多個原始檔,可以這樣來編譯 gcc test1.o test2.o o test上述命令可以直接將c語言檔案編譯鏈結為可執行檔案 如果目標檔...