- c++ 运行时不是系统的一部分,应用需要自行拷贝它。但是如果使用了 gradle 编译系统,它会自动完成
- 每个应用应当只使用一个 c++ 库。使用多个的时候,就会出现行为无法定义的情况
- 应用包含多个使用 c++ 的动态库的时候,应当只能使用 c++_shared 并且在启动前最先加载它
- 如果应用最终链接为一个动态库,那么建议使用 c++_static 这样动态库更小,运行效率高
- ndk-build 默认关闭了异常,而 cmake 默认开启来异常。所以项目或者模块应当自己明确指定 -fexceptions/-fno-exceptions 选项
- RTTI 状况和异常一样。参考 4
- libc++_shared.so 和 libc++_static.a 来自 llvm,在NDKr18 开始,是NDK唯一可以用的。之前版本还有 libstdc++ 和 stlport
/system/lib/libstdc++.so 和全功能的 libc++ 不同。它只是 new/delete 实现
网友评论