linux/Unix 动态so文件初识
1.so文件是什么?
ELF格式文件,共享库(动态库),类似于DLL。节约资源,加快速度,代码升级简化。
2.怎么生成以及使用一个so动态库文件?
1.编写第一个so文件库,在终端输入
vim libtest.c
libtest.c代码
#include <stdio.h>
// 打印消息的函数
void print_str(const char *str)
{
printf("%s\n",str);
}
- 编译libtest.c 为动态库 libtest.so
gcc -O -fpic -shared -o libtest.so libtest.c
3.使用刚刚编译好的动态库
编写test.c
#include <stdio.h>
// 声明刚刚动态库里打印消息的函数
void print_str(const char *str);
int main(int argc, char const *argv[])
{
print_str("this is my first so program");
return 0;
}
编译运行
gcc -o test test.c ./libtest.so
./test