文章目录:
1.动态库
1.1 分类
- windows下:后缀为.dll的文件为动态库
- linux下:后缀为.so,前缀为lib的文件为动态库
1.2 生成动态库
命令:gcc/g++
必选项的命令行参数:
- -shared==>生成动态库
- -fPIC:生成与位置无关的代码
命令范式:
gcc/g++ [source code] -shared -fPIC -o lib[动态库名称].so
1.3 使用
本质上是想要使用动态库产生一个可执行程序;
gcc/g++ [source code] -o [可执行程序] -L [动态库所在路径] -l[动态库的名称]
测试如下:
我们首先写一个头文件,里面声明一个print()函数
然后test.c中实现print()函数
接着我们将这个test.c编译成一个动态库
接着我们将test.c移出当前文件夹,此时我们若想使用刚才写的print()函数就得依赖libmytest.so,若我们直接运行main.c会发现找不到‘print’