关于linux中的C语言的 动态链接库

关于linux中的C语言的 动态链接库 2009-02-07 15:42:08

分类: LINUX

动态链接库的概念这里不提,这里重点说明动态链接库的实现。下面以一个例子为主线:
1、编写库文件add.c 和add2.c
 文件 add.c如下:
int add(int a,int b)
{
    return a+b;
}
int minux(int a,int b)
{
    return a-b;
}
文件add2.c如下:
int add2(int a,int b)
{
    return a+b+a+b;
}
2、编写主函数,测试动态库使用。文件为main.c,如下:
#include <stdio.h>
int main()
{
    int a=6,b=3;
    printf("a+b=%d\n",add(a,b));
    printf("a-b=%d\n",minux(a,b));
    printf("a+b=%d\n",add2(a,b));
    return 0;
}
3、将库文件编译成动态库
gcc -fPIC -shared -o libadd.so add.c
gcc -fPIC -shared -o libadd2.so add2.c
说明:(1)动态库标准命名为 : lib*.so
      (2) 各选项意义。
4、编译主函数,并且载入库
gcc -o test2 main.c ./libadd.so ./libadd2.so
5、测试执行:
执行 ./test2 得到的输出如下:
a+b=9
a-b=3

a+b=18


原创地址:http://blog.chinaunix.net/uid-11332154-id-2882529.html

发布了30 篇原创文章 · 获赞 5 · 访问量 3万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章