g++使用记录

ar crv libmyAPI.a myAPI.o 用于生成静态库‘,生成的库文件应遵循规范,及linux下库文件加“lib”前缀

动态库和静态库都需要使用.o文件,.o文件的生成是

g++ -c myAPI.cpp 

也可以连起来用

g++ -fpic -c myAPI.cpp 用于生成位置无关的代码

g++ -shared myAPI.o -o libmrFunc.so 生成动态库

g++ test.cpp -o test 用于编译并生成可执行文件

g++ testspeaker.cpp speaker.cpp -o testspeaker 编译多个文件

使用静态库生成可执行文件

g++ main.cpp libmyAPI.a -o output 

可执行文件是实际执行使用的,动态库和静态库是在使用的时候,另行加载的

而在程序实际运行的时候,动态加载器将可执行文件载入文件头指定的加载地址处,并加载该地址,开始从该地址处运行。

静态库是在链接可执行文件时,代码段和数据段直接拷贝到可执行文件中,动态库是在运行时加载动态库代码

-l代表寻找哪个库

-pthread,使用系统级线程

也可以直接在代码里通过#define LIB_CACULATE_PATH "./libmrFunc.so"来指定增加动态链接库

posted @   纸包鱼  阅读(29)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
· Manus的开源复刻OpenManus初探
点击右上角即可分享
微信分享提示