linux动态库的生成和使用
这里只简单地记录动态库的生成和使用方法,可能并不完整和详细。
生成动态库:
g++ -shared -fPIC math.cc -o libmath.so
-shared指明会生成动态库;-fPIC大致意思是运行时不同进程会公用一份动态库代码,而不会各进程拷贝一份。
编译可执行文件使用动态库:
g++ main.cc -o test -lmath -L.
-lmath指明调用动态库libmath.so;
-L.指明动态库的文件位置在当前目录(.)下,如果动态库位于/lib下,则不用加-L.选项;如果运行时动态库并不在/lib下,比如也在当前目录.下,则需要环境变量LD_LIBRARY_PATH包含当前目录(.)。
其他选项:
编译带调试信息的需要-g选项;
ldd命令可察看执行文件调用的其他动态库函数
ldd test

浙公网安备 33010602011771号