1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| #使用-fPIC生成目标文件 gcc -fPIC -c DynamicMath.c #使用连接器选项-shared生成动态库 .so shared object gcc -shared -o libdynmath.so DynamicMath.o
#两步可以合二为一 gcc -fPIC -shared -o libdynmath.so DynamicMath.c
#使用动态库编译成可执行文件 gcc TestDynamicLibrary.c -L../DynamicLibrary -ldynmath #将libdynmath.so安装在/lib或/usr/lib目录下 #或在/etc/ld.so.conf文件加入库目录所在的路径名 #ldconfig 运行ldconfig重建/etc/ld.so.cache文件
# ldd a.out
# nm libhello.h #T表示 库中定义的函数 #W表示 在库中被定义,可能被其他库中的同名符号覆盖 #U表示 在库中被调用,单并没有在库中定义(需要其他函数库支持)
|