假设有三个文件 a.cpp b.hpp b.cpp, a和b cpp里面都包括了头文件b.hpp
a.cpp中有main函数,现在生成b.so供a调用,并且个文件使用不同的release 优化级别:
1. g++ -O3 b.cpp -shared -o b.so(采用O3最高级别优化生成动态库.so 编译时如果动态库里包括了输出流如cout,要加上-fPIC进行编译,但是运行时并不会输出到terminal)
2. g++ -O2 -c a.cpp (-c仅把源码编译成目标代码,一些库没有加入也不会报错)
3. g++ a.o b.so -o main.o(如果其中调用了一些其他库可在此时加入,例如opencv)
4. ./main.o
5. 其他命令
-s 生成汇编码
等等
g++动态库创建
最新推荐文章于 2024-06-24 01:30:49 发布