gcc的引數 I和 L 的用法

2021-06-22 06:11:23 字數 675 閱讀 1790

當頭檔案與gcc不在同一目錄下要用 -i dir引數,它是指頭檔案所在的目錄。而新增庫檔案時需要 -l dir引數,它指定庫檔案所在的目錄。

1. -i dir

使用#include<>,gcc預設目錄shi "/usr/include",如果使用#include則找不到my.h檔案,因此要通過「-i dir」引數來指定包含的標頭檔案my.h的位置:

$gcc 1-3.c -o 1-3 -i /root              (假設檔案my.h存放在/root下)

把#include改為#include"my.h"就不需要「-i dir」引數也能正確編譯了。 

2. -l dir

-l dir與-i dir 功能類似,能夠在庫檔案的搜尋路徑列表中新增dir目錄。

如果乙個程式用到了目錄/root/lib下的乙個動態庫libsunq.so,因為-l dir指定的是路徑而沒有指定檔案,則需要用到 -llibarry引數,它可以指定gcc去尋找libsunq.so。

在linux下的庫檔案命名規定必須以lib三個字母開頭,因此,在用「-i」指定連線庫檔案時可以省去lib三個字母,即,-llibsunq有時可以寫成「-lsunq」:

$gcc 1-3.c -o 1-3 -l /root/lib -lsunq

linux下動態鏈結庫預設字尾名是".so",靜態鏈結庫預設字尾名是「.a」

gcc 編譯粗略介紹 l引數和 L引數

l引數就是用來指定程式要鏈結的庫,l引數緊接著就是庫名,那麼庫名跟真正的庫檔名有什麼關係呢?就拿數學庫來說,他的庫名是m,他的庫檔名是libm.so,很容易看出,把庫檔名的頭lib和尾.so去掉就是庫名了 好了現在我們知道怎麼得到庫名,當我們自已要用到乙個第三方提供的庫名字libtest.so,那麼...

聊聊gcc引數中的 I, L和 l

在本文中,我們來聊聊gcc中三個常見的引數,也即 i,l和 l 一.先說 i 注意是大寫的i 我們先來看簡單的程式 main.c cpp view plain copy include include add.h int main add.c cpp view plain copy int add ...

聊聊gcc引數中的 I L和 l

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!在本文中,我們來聊聊gcc中三個常見的引數,也即 i,l和 l 一.先說 i 注意是大寫的i 我們先來看簡單的程式 main.c include include add.h intmain add.c int add int x,int y add...