1. 程式人生 > >關於Linux編譯時的路徑一些說明

關於Linux編譯時的路徑一些說明

關於Linux編譯時的路徑一些說明

如果原始檔(.c)和標頭檔案(.h)在同一個目錄

那麼就直接包含使用標頭檔案時,就直接包含就行了,不需要路徑的說明

舉例:

比如現在有main.c,test.c,test.h三個檔案,且都在同一個目錄/home/user/code下

test.h聲明瞭test.c中的函式

main.c需要使用test.c中的函式

/*main.c檔案*/
#include <stdio.h>
#include "socket_include/test.h"

如果原始檔(.c)和標頭檔案(.h)不在同一個目錄

比如現在有main.c,test.c,test.h三個檔案,分別在/home/user/code/src和/home/user/code/incline目錄下

目錄下的檔案如下:

/home/user/code/src : main.c,test.c

/home/user/code/incline: test.h

使用相對路徑

舉例:

/*main.c檔案*/
#include <stdio.h>
#include "../include/test.h"

使用絕對路徑

舉例:

/*main.c檔案*/
#include <stdio.h>
#include "/home/user/code/include/test.h"

其實推薦還是寫絕對路徑的

使用軟連結

這種發法其實就是使用絕對路徑,只不過將絕對路徑用一個快捷方式表示,這樣的話標頭檔案包含就不必寫的那麼長,特別是在檔案目錄層級非常多的情況,這種便利越能體現

擴充套件知識:

linux中預設的系統庫函式標頭檔案在/user/include目錄下的,當然也提供了一個目錄可以放自己的函式標頭檔案的目錄,/user/local/inclue

這一塊內容詳情網上很多資源的,提供參考:

https://blog.csdn.net/jiaweizou/article/details/8153897

http://blog.chinaunix.net/uid-25544300-id-3310491.html

那麼我們使用ln命令將自己的標頭檔案軟連結(相當於建立一個快捷方式)到這個目錄下,並且取名字myinclude

注意:進行軟連結的時候需要root許可權
這裡寫圖片描述
出現紅色方框的資訊的時候表示軟連結成功

/*main.c檔案*/
#include <stdio.h>
#include "myinclude/test.h"

可以對比使用絕對路徑來看,這樣就簡化了一些