標頭檔案與函式庫

2021-06-01 01:27:56 字數 1075 閱讀 2552

在c語言中,標頭檔案提供對常量的定義和對系統函式及庫函式呼叫的宣告(函式原型)。存放的標準位置是/usr/include目錄及其子目錄。

gcc的-i選項(增加標頭檔案的搜尋路徑):gcc -i/usr/myinclude main.c 在標準位置及/usr/myinclude目錄下查詢main.c包含的標頭檔案。

庫檔案是一組預先編譯好的函式的集合,可以說是標頭檔案函式原型的實現。存放的標準位置是/lib和/usr/lib目錄。庫檔案總是以lib開頭。標準c語言庫檔案(函式庫)為libc.a檔案。

gcc -o main main.c 預設情況,gcc只搜尋標準c語言函式庫。需要其他庫如數學庫(libm.a libm.so)則額外新增這一路徑:

gcc -o main main.c /usr/lib/libm.a,

gcc -l選項(增加庫檔案的搜尋路徑): gcc -o main -l/usr/mylib main.c libmtemp.a

庫檔案型別:靜態函式庫(靜態庫).a檔案,共享函式庫(共享庫).so檔案.

自己寫個靜態庫:

/*hello.c*/

#include

void sayhello()  

/*param.c*/

#include

void hasparam(char* arg)  

/*標頭檔案mylib.h*/

void sayhello();  

void hasparam(char* arg);  

/**main.c**/

#include "mylib.h"

int main()    

linux下執行命令:

gcc -c hello.c param.c

ar crv libcmy.a hello.o param.o——歸檔命令,生成庫檔案libcmy.a

ranlib libcmy.a——為函式庫生成內容表,berkerley unix衍生系統必需的,linux非必需(做了也無害)

gcc -o main main.c libcmy.a——執行方式1

gcc -o main main.c -l. -lcmy——執行方式2

標頭檔案 cmath 函式庫

cmath是c 語言中的庫函式,其中的c表示函式是來自c標準庫的函式,math為數學常用庫函式。cmath中常用庫函式 int abs int i 返回整型引數i的絕對值 double fabs double x 返回雙精度引數x的絕對值 long labs long n 返回長整型引數n的絕對值 ...

函式庫檔案

乙個很簡單的問題除錯了好久,不過還算有收穫。現總結一下 1.vs2008中 math.h 標頭檔案中沒有定義m pi,如果程式確實要用m pi則需自己定義。define m pi 3.14159265358979323846 2.如果程式中自己定義的函式比較多,為了除錯方便使用方便,可以將這些函式都...

C語言 包含標頭檔案 鏈結函式庫

c語言中,包含標頭檔案有兩種方法 1.include 2.include headfile.h 那麼這兩種如何取捨呢,學校裡老師告訴我們,如果是系統提供的標頭檔案,用第一種,如果是包含使用者定義的標頭檔案,用第二種。到底怎麼回事兒呢?是類似於命名規範這樣大家的約定嗎?巧了,不就我就在看書的時候找到了...