Linux动态链接库的使用

来源:互联网 发布:java 线程间共享变量 编辑:程序博客网 时间:2024/05/16 09:43

动态链接库的使用

定义add.h和add.c两个文件

add.h

#ifndef ADD_H_#define ADD_H_int add(int,int);#endif

add.c

#include "add.h"int add(int a,int b){       return (a+b);}

编译生成so文件

gcc -shared -fPIC add.c -o libadd.so

编写测试程序

#include <stdio.h>#include "add.h"int main(void){       printf("1+1=%d\n",add(1,1));}

库文件一般放在/usr/lib中。默认情况下,在链接动态链接库的时候会在这个文件夹下寻找。

(/usr/include放的是头文件,可以把add.h放在这里或者程序存放的位置)

把libadd.so复制到/usr/lib中

sudo cp libadd.so /usr/lib/libadd.so

编译测试程序

gcc demo.c -o demo -ladd   //-l后面是省略lib的链接库的名字
0 0