XXX
分类: C/C++
2014-03-31 10:48:58
原文地址:Linux 动态库分析与使用 作者:自语的骆驼
下面以一个简单的动态库为例讲解动态链接与动态加载方法:
动态库示例:
add.c
int add(int a,int b){
动态链接方法:在编译程序时,指定要链接的库文件即可,此时调用共享库只需要其头文件即可。
示例:
test.c
#include
#include
int add(int,int);
int main(int argc, char *argv[])
{
sum=add(10,11);
printf("sum=%d",sum);
}
编译程序:gcc -l add -o test test.c
-l 参数表示要链接的动态链接库,若路径不在标准库文件路径下可用-L 包含。
动态加载方法:通过下列API完成函数 描述 dlopen 使对象文件可被程序访问 dlsym 获取执行了 dlopen 函数的对象文件中的符号的地址 dlerror 返回上一次出现错误的字符串错误 dlclose 关闭目标文件
示例: