关闭

NDK开发注意事

84人阅读 评论(0) 收藏 举报

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

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

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:232次
    • 积分:22
    • 等级:
    • 排名:千里之外
    • 原创:3篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章存档