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

来源:互联网 发布:美工工作描述 编辑:程序博客网 时间:2024/05/22 10:28

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
  1. /*hello.c*/  
  2. #include<stdio.h>  
  3. void sayHello()  
  4. {  
  5.     printf("I am saying hello to you!/n");  
  6. }  
  7. /*param.c*/  
  8. #include<stdio.h>  
  9. void hasParam(char* arg)  
  10. {  
  11.     printf("I have a param %s/n",arg);  
  12. }  
  13. /*头文件mylib.h*/  
  14. void sayHello();  
  15. void hasParam(char* arg);  
  16. /**main.c**/  
  17. #include "mylib.h"  
  18. int main()  
  19. {  
  20.     sayHello();  
  21.     hasParam("Param");  
  22.     return 0;  
  23. }  
 

 

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

0 0
原创粉丝点击