gcc 使用动态链接库的办法,来自前辈orzlzro ,博客地址:blog.csdn.net/orzlzro/article/details/6460058
其中加入了自己的学习心得!
两个源文件:
hello.c
#include <stdio.h>
void print_hello()
{
printf("Hello World!\n");
}
main.c
int main(void)
{
print_hello();
return 0;
}
采用动态链接的方式调用print_hello函数。
1. 创建动态链接库
gcc -o libhello.so -shared hello.c
注:动态链接库命名规则 libxxx.so
-shared 声明编译为共享库
2. 编译、链接生成可执行文件
gcc main.c -lhello -L. -o main
注: -lhello 指定库名称,-l是参数,hello是依照前述命名规则制定的库名称xxx
-L. 指定库的查找路径,. 表示当前路径,例如下一级目录可以写为 ./new 等
3. 运行生成的可执行文件
./main
执行结果:Hello World!
注:需修改环境变量,制定动态库的搜索路径
export LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH
上述方式是临时指定,重启后失效