NDK开发注意事

一、静态运行库与动态运行库

1,只有项目包含单一的原生模块时支持静态库。例如:

APP_STL:=stlport_static

2,项目中包含多个原生模块时推荐使用共享库

当C++运行库以共享库的形式使用时,应用程序需要先加载所需要的共享库,然后再加载依赖于此共享库的其他原生模块。例如:

static {

System.loadLibrary("stiport_shared");

System.loadLibrary("module");

}

二、C++异常支持

为了在原生模块中使用C++异常,需要按照如下方式在Application,mk中指定GNU STL:

APP_STL := gnustl_shared


Android.mk构建文件启用C++异常支持的配置内容

LOCAL_MODULE := module

...

LOCAL_CPP_FEATURES  +=  exceptions

...

include $(BUILD_SHARED_LIBRARY)


Application.mk生成文件启用C++ Exceptions支持的配置内容

APP_STL := gnustl_shared

APP_CPPFLAGS += -fexceptions


三、C++ RTTI(Runtime type information,运行库类型信息)

1,Android.mk启用RTTI支持的配置内容

LOCAL_MODULE := module

...

LOCAL_CPP_FEATURES += rtti

...

include $(BUILD_SHARED_LIBRARY)

2,Application.mk启用RTTI支持的配置内容

APP_STL := gnustl_shared

APP_CPPFLAGS += -frtti


四、STLport 文档地址:www.stlport.org/doc/

GNU STL 文档地址:http://gcc.gnu.org/onlinedocs/libstdc++/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值