c语言头文件和函数库,C语言的头文件和库文件(函数库)
在C語(yǔ)言中,頭文件提供對(duì)常量的定義和對(duì)系統(tǒng)函數(shù)及庫(kù)函數(shù)調(diào)用的聲明(函數(shù)原型)。存放的標(biāo)準(zhǔn)位置是/usr/include目錄及其子目錄。
gcc的-I選項(xiàng)(增加頭文件的搜索路徑):gcc -I/usr/myInclude main.c 在標(biāo)準(zhǔn)位置及/usr/myInclude目錄下查找main.c包含的頭文件。
庫(kù)文件是一組預(yù)先編譯好的函數(shù)的集合,可以說(shuō)是頭文件函數(shù)原型的實(shí)現(xiàn)。存放的標(biāo)準(zhǔn)位置是/lib和/usr/lib目錄。庫(kù)文件總是以lib開(kāi)頭。標(biāo)準(zhǔn)C語(yǔ)言庫(kù)文件(函數(shù)庫(kù))為libc.a文件。
gcc -o main main.c 默認(rèn)情況,gcc只搜索標(biāo)準(zhǔn)C語(yǔ)言函數(shù)庫(kù)。需要其他庫(kù)如數(shù)學(xué)庫(kù)(libm.a libm.so)則額外添加這一路徑:
gcc -o main main.c /usr/lib/libm.a,
gcc -L選項(xiàng)(增加庫(kù)文件的搜索路徑): gcc -o main -L/usr/myLib main.c libmtemp.a
庫(kù)文件類(lèi)型:靜態(tài)函數(shù)庫(kù)(靜態(tài)庫(kù)).a文件,共享函數(shù)庫(kù)(共享庫(kù)).so文件.
自己寫(xiě)個(gè)靜態(tài)庫(kù):
/*hello.c*/
#include
void sayHello()
{
printf("I am saying hello to you!/n");
}
/*param.c*/
#include
void hasParam(char* arg)
{
printf("I have a param %s/n",arg);
}
/*頭文件mylib.h*/
void sayHello();
void hasParam(char* arg);
/**main.c**/
#include "mylib.h"
int main()
{
sayHello();
hasParam("Param");
return 0;
}
Linux下運(yùn)行命令:
gcc -c hello.c param.c
ar crv libcmy.a hello.o param.o——?dú)w檔命令,生成庫(kù)文件libcmy.a
ranlib libcmy.a——為函數(shù)庫(kù)生成內(nèi)容表,Berkerley Unix衍生系統(tǒng)必需的,Linux非必需(做了也無(wú)害)
gcc -o main main.c libcmy.a——運(yùn)行方式1
gcc -o main main.c -L. -lcmy——運(yùn)行方式2
總結(jié)
以上是生活随笔為你收集整理的c语言头文件和函数库,C语言的头文件和库文件(函数库)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 使用log4Net 输出日志到mongo
- 下一篇: 力登:以智能化管理提升数据中心服务能力成