linux动态库的开发及部署

linux下动态库的名称一般是libxxx.so或者libxxx.so.版本。下面用一个实例来说明linux下动态库的开发。

1 编写文件sample.h

void sayhello(void);

2 编写文件sample.c

#include <stdio.h>

#include <sample.h>

void sayhello(void)

{

  printf("say hello\n");

}

3 编译动态库libsample.so

gcc -shared -o libsample.so sample.c -I.

得到libsample.so文件

4 部署动态库

/usr/include 和/usr/lib是gcc的自动搜索路径,我们可以将动态库部署到这两个路径下

mkdir /usr/include/sample

cp sample.h /usr/include/sample

cp libsample.so /usr/lib/

5 测试

编写文件testsample.c

#include <sample/sample.h>

#include <stdio.h>

int main(void)

{

  sayhello();

  return 0;

}

编译,gcc -o testsample testsample.c

执行,./testsample

打印出:say hello

可见我们的部署是对的。

posted @ 2011-06-19 22:45  茫茫深海一条鱼  阅读(441)  评论(0)    收藏  举报