1. 自己写的头文件和静态链接库怎么在linux中gcc编译 将自己写的头文件放在在linux中建立的一个文件中,比如放在/home/a.h 使用gcc –c –I/home a.c 编译成功后生成一个a.o文件 同理将自己编译的库文件b.a也放在一个文件夹中如 /mnt/b.a 使用gcc –o app –L/mnt a.o b.a app为最终形成的可执行文件 2.静态库的生成 编写好静态库源文件 如 a.c gcc –c a.c 生成a.o文件 使用ar rcs ku_lib.a a.o 则生成一个ku_lib.a的库文件 3.动态链接库的使用 动态链接库的使用不需要编译头文件 1、 先生成动态链接库 先写好库文件,libfile.c 执行命令: gcc -shared –fPIC –o share_lib.so libfile.c -shared :将位置无关的代码制作成库 -fPIC :生成位置无关的代码 share_lib.so:生成的动态库名 libfile.c:库源文件 动态链接库的使用: gcc main.c ./ share_lib.so –o app main.c:要调用动态库中得函数的源文件 app:最终的可执行文件 share_lib.so:动态链接库 动态链接库比静态链接库使用方便在linux下 动态链接库无需编译带调用库函数的头文件的源文件; 生成后直接调用就好 程序的中代码也少 (责任编辑:IT) |