库文件浅谈

已经编译过的代码仓库

库文件: 动态库 和 静态库

静态库:lib+库名.a

ar:制作静态库

-r:将某个.o文件插入到静态库

-c:创建一个新的静态库

-s:重置静态库索引

ar -rcs libDArray.a DynamicArray.o

将 DynamicArray.o编入libDArray.a中

静态库的使用:编译期直接编译到程序当中

动态库(共享库):lib+库名.so(windo系统:.dll)

在编译期不会编译到程序中,而是运行时链接的

-shared:制作动态库

-fPIC:生成的库代码位置独立

 gcc -shared -fPIC DynamicArray.c -o LibDArray.so

ldd:查看程序依赖的库

ldd ./main 

依赖动态库的程序运行时需要带上动态库

sudo cp 库 /usr/lib

sudo cp 头文件 /usr/include

sudo cp LibDArray.so /usr/lib
sudo cp DynamicArray.h /usr/include/

将头文件和库文件分别拷到这两个地址

跨语言编译

当在C++文件中与C的库联合编译时 ps:在.h文件中包

#ifdef __cplusplus
extern "C"//以C的形式命名函数
{
#endif
int func();
#ifdef __cplusplus
}
#endif

用extern “C” 将函数包起来

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值