怎么样android app正在使用STL库

方法:

1.在jni文件夹下新建Application.mk; 增加 APP_STL := stlport_static右边的值还能够换成以下几个:

system - 使用默认最小的C++执行库,这样生成的应用体积小,内存占用小,但部分功能将无法支持

stlport_static - 使用STLport作为静态库,这项是Android开发网极力推荐的

stlport_shared - STLport作为动态库,这个可能产生兼容性和部分低版本号的Android固件,眼下不推荐使用。

gnustl_static - 使用 GNU libstdc++ 作为静态库

 

默认情况下STLPORT是不支持C++异常处理和RTTI。所以不要出现 -fexceptions 或-frtti;假设真的须要。能够使用gnustl_static来支持标准C++的特性,但生成的文件体积会偏大,执行效率会低一些。

支持C++异常处理。在Application.mk中增加 LOCAL_CPPFLAGS +=-fexceptions这句,同理支持RTTI,则增加LOCAL_CPPFLAGS +=-frtti。这里再次提醒大家,第二条说的使用gnustl静态库,而不是stlport。

强制又一次编译 STLPort ,在Application.mk中增加STLPORT_FORCE_REBUILD := true能够强制又一次编译STLPort源代码,因为一些原因可能自己须要改动下STLPort库,一般普通的开发人员无需使用此项

2. 在要使用STL的cpp文件里包括相关的头文件,而且使使用using namespace std;


版权声明:本文博客原创文章,博客,未经同意,不得转载。

原文地址:https://www.cnblogs.com/gcczhongduan/p/4613113.html