链接库生成及使用简介

本博文转自一下地址:
静态链接库生成及使用
动态链接库生成及使用

在Linux上创建及使用静态库的步骤如下:

 1. 写源文件,通过 gcc -c xxx.c 生成目标文件。
 2. 用 ar 归档目标文件,生成静态库。
 3. 配合静态库,写一个使用静态库中函数的头文件。
 4. 使用静态库时,在源码中包含对应的头文件,链接自己的库

在Linux上创建及使用动态库的步骤如下:

1. 编写源文件;
2. 将一个或几个源文件编译链接,生成共享库;
3. 通过 -L<path> -lxxx 的gcc选项链接生成的libxxx.so;
4. 解决运行时 cannot open shared object file: No such file or directory的错误。方案有一下三种:
       1> 把libxxx.so放入链接库的标准路径(/lib或者/usr/lib)下;
       2> 指定 LD_LIBRARY_PATH. LD_LIBRARY_PATH只在本次运行时有效;
       3> 将动态库所在路径加到/etc/ld.so.conf文件中,并以root权限执行 ldconfig 命令.
      注意点: 手动写道/etc/ld.so.conf文件中好像不行,可以用 
echo "/home/..." >> /etc/ld.so.conf

静态库和动态库的区别及注意点:

 1. 静态链接库的指令全部被包含在最终生成的可执行文件中,而动态链接库是可执行文件在执行时,根据函数映射表,动态的调用或卸载动态库中的函数等;
 2.  静态库中不能在包含其他的静态库或者动态库,而动用库则可以.
 3.  动态库中的函数分为两种,一种是可以导出的函数,可供应用程序使用,另外一种是Dll内部函数,只能在Dll程序中使用,应用程序无法调用它们.
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值