1 LInux 生成动态链接库
gcc -shared -fPIC factorial.c fibonacci.c -o libmathutils.so
| 选项 |
说明 |
| -shared |
生成一个共享库。 |
| -fPIC |
生成与地址无关的动态链接库。 |
2 windows 生成动态链接库
gcc -shared -fPIC -wl,--out-implib,libmathutils.a factorial.c fibonacci.c -o libmathutils.dll
| 选项 |
说明 |
| -shared |
生成一个共享库。 |
| -fPIC |
生成与地址无关的动态链接库。 |
| -wl,--out-implib,libmathutils.a |
导入windows依赖库。 |
3 查看动态链接库的符号
objdump -t libmathutils.so | grep Fibonacci
4 指定自定义的动态链接库编辑
gcc 03.shared_library.c -Lmathutils -lmathutils -o 03.shared_library
| 选项 |
说明 |
| -L |
动态链接库的地址。 |
| -l |
动态链接库的名字,不要加so. |
5 动态链接库的加载
动态链接库已存放在mathutils 目录。但是LInux 程序运行时缺无法知道。
所以这里需要将LD_LIBRARY_PATH 环境变量设置为以下形势。
这样二进制程序能够成功的去调用动态链接库。
export LD_LIBRARY_PATH=/home/dev/Chapter13/mathutils/