gcc 編譯器和g 編譯器 幾個注意的問題

2021-10-10 20:27:25 字數 368 閱讀 9385

那麼在編譯的時候需要加入 -lm 的選項,如果不加 -lm 可能會報錯。

gcc -o test test.c -lm
gcc:編譯檔案字尾為.c的檔案時,編譯成編譯成c語言,編譯檔案字尾為.cpp的檔案時,編譯成c++語言。

g++:編譯.c/.cpp檔案時,只編譯成c++語言。

gcc編譯字尾為.c的檔案有更少的預定義巨集。

gcc編譯字尾為.cpp的檔案和g++編譯字尾為.c/.cpp的檔案有少量額外巨集。此外,g++鏈結.o檔案時,它將自動鏈結c++標準庫(gcc不會這麼做)

全域性變數需要是常量,非常量的定義需要在main函式裡宣告,具體參考這篇博文。

1.2.

3.

Linux下gcc編譯器和g 編譯器的那些事兒

使用c c 程式設計大約有三四個年頭了。最開始涉及到微控制器 嵌入式linux等,都使用的是c語言,那時主要寫linux驅動,甚至在arm板上寫linux應用程式時需要應用物件導向的思想的時候,都是使用c語言的結構體和函式指標來實現。當然,使用的編譯器自然就是gcc了。後來,慢慢的轉向了使用c 編寫...

gcc編譯器簡介

在linux中選擇gcc編譯器的原因是gcc執行效率高。gcc基本用法 gcc options filename 其中options為編譯選項。例子 執行指令 gcc hello.c 則對hello.c進行編譯,如果程式沒有語法錯誤,則產生可執行檔案a.out gcc預設檔名 執行可執行檔案指令 a...

gcc編譯器(二)

靜態庫 工程在呼叫靜態庫時,複製靜態庫源 加長,不節省程式空間字尾名.a 優點 編譯後不需要再依賴庫 以空間換時間 動態庫 工程建立對映關係,每次呼叫都需要去庫中載入,字尾名為.so 共享庫 程式輕便,便於公升級。小tips 所有程式執行都在記憶體中,硬碟只能儲存程式。靜態庫的建立 gcc c 原始...