日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

C语言的头文件和库文件(函数库)

發布時間:2025/3/15 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C语言的头文件和库文件(函数库) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

C語言的頭文件和庫文件(函數庫)

分類: Unix環境高級編程 2576人閱讀 評論(1) 收藏 舉報 語言cgcclinuxunix

??? 在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文件.

?

??? 自己寫個靜態庫:

?

[cpp] view plaincopy
  • /*hello.c*/??
  • #include<stdio.h>??
  • void?sayHello()??
  • {??
  • ????printf("I?am?saying?hello?to?you!/n");??
  • }??
  • /*param.c*/??
  • #include<stdio.h>??
  • 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下運行命令:

    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

    總結

    以上是生活随笔為你收集整理的C语言的头文件和库文件(函数库)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。