准备
main.c
#include <stdio.h>
void myprint();
int main()
{
myprint();
return 0;
}
myprint.c
#include <stdio.h>
void myprint(){
printf("hello\n");
}
正常编译
gcc main.c myprint.c -o out
使用动态链接
编译动态库
gcc -fPIC -shared -o libmyprint.so myprint.c
使用动态库
gcc main.c -o out -L . -l myprint
-L 动态库文件夹
-l 动态库名称,自动加扩展变成 libmyprint.so
运行
使用动态库生成的可执行文件,有可能因为搜索动态库位置导致执行失败
需要将lib文件放到 /lib 文件夹内