- 论坛徽章:
- 0
|
今天上来发现自己的这个问题没有一个明确的答复,自己给个小例子
1.生成so的代码由max.h和max.c组成.
//max.h
#ifndef _MAX_H
#define _MAX_H
int max(int a, int b);
#endif
//max.c
#include "max.h"
#include "stdio.h"
int max(int a, int b)
{
return (a > b ? a : b);
}
用下面这个命令生成so文件
gcc -shared max1.c -o libmax.so; cp libmax.so /usr/lib
2.测试so的例子
//test_so.c
#include "stdio.h"
#include "max.h"
int main(int argc, char **argv)
{
printf("test so max=%d\n", max(1,2));
return 0;
}
用下面这个命令来生成可执行程序
gcc -lmax test_so.c -o test_so
./test_so即可得到测试结果. |
|