Linux下动态库生成和使用


Linux下动态库生成和使用

一.动态库的基本概念

1.动态链接库是程序运行时加载的库,当动态链接库正确安装后,所有的程序都可以使用动态库来运行程序。动态链接库是目标文件的集合,目标文件在动态链接库中的组织方式是按照特殊方式形成的。库中函数和变量的地址是相对地址,不是绝对地址,其真实地址在调用动态库的程序加载时形成。

2.动态链接库的名称有别名(soname), 真名(realname)和链接名(linker name)。别名由一个前缀lib,然后是库的名字,再加上一个后缀“.so”构成。真名是动态链接库真实名称,一般总是在别名的基础加上一个小版本号,发布版本等构成。除此之外,还有一个链接名,即程序链接时使用的库的名字。

3.在动态链接库安装的时候,总是复制文件到某个目录下,www.bkjia.com然后用一个软连接生成别名,在库文件进行更新的时候,仅仅更新软链接即可。

二.生成和使用动态库

1.看一个实例来了解如何自己生成静态库和使用静态库

创建程序文件

1>在test文件夹下有三个文件: main.c ,add.c,sub.c,tiger.h


2> main.c文件中的内容:

#include<stdio.h>

#include”tiger.h”

 

int  main(void)

{

              printf(“sum =%d\n”,add(5,3));

              printf(“sub= %d\n”,sub(5,3));

 

              return 0;      

}

  • 1
  • 2
  • 下一页

相关内容