gcc常用命令和參數說明

參數

gcc文件類型約定

在這裏插入圖片描述

gcc常用選項

在這裏插入圖片描述

命令

鏈接庫

函數庫是一些頭文件(.h) 和庫文件(.so或 .a)的集合,在Linux下大多頭文件的默認路徑是/usr/include/,而庫文件默認路徑在/usr/include/,但並不是所有情況都是這樣,當頭文件和庫文件在別的位置時,利用gcc編譯需要指定所需要的頭文件和庫文件。
gcc通過搜索目錄的辦法查詢所需要的文件,-I選項可以向默認路徑中添加新目錄。

比如在home/name/include/下編寫了程序foo.c,爲了gcc能夠找到,需要用如下命令:

gcc foo.c -I /home/name/include -o foo

同樣,如果使用了不在默認路徑的庫文件,需要使用-L選項添加庫文件路徑,比如:

gcc foo.c -L /home/name/lib -lfoo -o foo

上面例子中的-L讓gcc去鏈接庫找libfoo.so'庫文件,linux下庫文件命名時約定以lib開頭,所以在命令行中可以省去,直接使用-lfoo即可。

靜態鏈接和動態鏈接

Linux下庫文件分爲動態鏈接庫(以.so結尾)和靜態鏈接庫(以.a結尾),如果指定使用靜態鏈接庫,編譯時加上-static選項。
例如下面編譯命令:

gcc foo.c -L /home/name/lib -static -lfoo -o foo
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章