linux下静态库和动态库的开发与使用
发布时间:2022-11-15 10:47:14 所属栏目:Linux 来源:
导读: 静态库(.a文件)的开发
通过test.h和test.cpp生成静态库libtest.a,其编译命令为
//将代码编译成.o文件
gcc -c *.cpp
//由.a文件生成静态库
ar rcs libtest.a *.o
静态库的使
通过test.h和test.cpp生成静态库libtest.a,其编译命令为
//将代码编译成.o文件
gcc -c *.cpp
//由.a文件生成静态库
ar rcs libtest.a *.o
静态库的使
|
静态库(.a文件)的开发 通过test.h和test.cpp生成静态库libtest.a,其编译命令为 //将代码编译成.o文件 gcc -c *.cpp //由.a文件生成静态库 ar rcs libtest.a *.o 静态库的使用 linux动态库_linux查看库版本_种子库动态 1、-I(include)指定编译时头文件搜索目录 2、-L(link)指定链接时搜索lib文件的目录 3、-l(lib)指定要链接的库,此时不需要指定前缀lib和后缀.a 执行命令 gcc -I ./include -L ./lib main.cpp -o main.out ?-ltest -lstdc++ 由于代码中使用了c++的标准库,故增加了命令-lstdc++,命令中的-ltest就是链接的libtest.a静态库 动态库(.so)的开发 假设有test_so.h和test_so.cpp文件,需要通过这两个文件生成动态库libtest_so.so 执行命令: gcc -fPIC -shared test_so.cpp -o libtest_so.so 多个文件的话 gcc -fPIC -shared xxx1.c xxx2.c xxx3.c -o libxxx.so? 动态库的使用 与静态库的使用一样,但唯一区别就是要通过(-Wl,-rpath="xxxxxx")指定.so文件的加载路径linux动态库,若不指定则从系统默认路径中加载,以下指定从.out文件当前目录下的lib文件中加载动态库 gcc -I ./include -L ./lib main.cpp -o main.out ?-ltest_so -lstdc++ -Wl,-rpath="./lib" (编辑:PHP编程网 - 钦州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐


浙公网安备 33038102330484号