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++/

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

NDK开发注意事

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭