找回密码
 注册
搜索

5. 连接库文件

已有 111 次阅读2014-2-4 10:41 |个人分类:Linux编程| 库文件, Linux编程, linux编程, GCC, 编译器

当我们需要提供一些函数接口给第三方时,出于隐藏函数实现代码或升级、集成方便的考虑,通常将这些函数接口编译成动态库(.so文件)或者静态库(.a 文件),第三方若要使用这些函数库内的函数,就需要连接库文件。

那么如何连接库文件?首先将动态库或静态库复制到系统库所在的路径(/usr/lib/lib),如果使用的是系统集成的库文件(如lib.solibpthread.so等)或者想将库文件放在其他路径(编译时指定库文件的查找路径),则不必进行着一步;然后,在用到的库文件中函数的代码内加载相应的头文件(如math.hpthread.h;最后,编译代码时指定需要连接的库名,如果库文件不在系统库路径下,还需要指定库的路径。

       /* pow.c */

       #include <stdio.h>

       #include <math.h>

 

       int main(void)

       {

              float=2;

              float=10;

 

              printf(%.f^%.f = %.f \n”,abpow(ab));

 

              return 0

}

pow函数来自于系统数学库libm.so,用于计算指数,去掉前缀“lib”和后缀“.so”,剩下的m即为该库文件的名字。在编译pow.c时,提示pow函数未定义,我们加上-l选项执行库文件名为m后,pow函数被找到了,编译成功了。


路过

雷人

握手

鲜花

鸡蛋

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-11-24 06:40 , Processed in 0.039081 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

返回顶部