Android NDK:gnustl_static库文档?

时间:2011-06-09 12:50:14

标签: c++ android-ndk gnu

我是一名Java开发人员,直到现在我对C ++ / JNI的曝光有限。

到目前为止,我已经做得很好,但现在我正在冒险做着" Clever"我被飞行盲人变得越来越受限制的事情:

我使用gnustl_static库是因为我在同一本机项目空间中移植了其他代码。但是,由于图书馆的性质下降,我发现用一只手绑在背后很难学习C ++。

有一个Javadoc(显然不是Javadoc;))或者一些这样的文档可以用来查找这个库中包含的内容,反过来,这些库中包含的内容(以及我希望月亮)为什么某些类型,如" map"不包括在内,最好使用什么!

从过去几周搜索谷歌开始,我没有遇到过任何集中化的问题。有用的资源以及来自其他人的知识和专业知识我觉得我错过了重要的基本资源!

有人可以帮我一把,并指出我的文档或教程或示例,或者哪些内容可以帮助我驾驭JNI / C ++ / Native Android编码的危险水域?

修改

有人向我解释过STL是标准模板库,这里有一个链接到其中包含的内容: http://www.sgi.com/tech/stl/stl_index.html

他们还解释说gnustl_static库是基于GNU机器的STL库,它是一组位于内部的标题: $ {ANDROID-NDK} \源\ CXX-STL \ GNU-的libstdc ++ \包括

我只想说这对我有所帮助,因为我不知道发生了什么事。我只是不知道知道在哪里看。

我仍然有点担心STL似乎没有人拥有? (我在这里思考Apache风格的身体)。任何人都可以纠正我吗?

你可以说。这里仍然有点漂亮。

EDIT2:

如果STL是用于描述所有非基本类型和函数的库...为什么要从中拉出string.h: $ {ANDROID-NDK} \平台\机器人-9 \拱形臂的\ usr \包括

PS:我知道我在这听起来很愚蠢,但我保证我不知情。我只是不确定开始在哪里看,因为我觉得必须从中间开始。再一次,链接到你认为我认为有用的任何东西都会很棒!

1 个答案:

答案 0 :(得分:4)

gnustl_static是GNU stdlibc ++,因为它附带了gcc。它是official documentation is here,但它可能没有用作教程,所以最好在C ++上获得一本不错的书。

图书馆似乎没有减少。它可能看起来像你,因为规范中定义的标准C ++库比Java中的标准C ++库要小很多。它具有对文件的标准访问,但没有文件操作,没有线程,没有网络等。

在android POSIX界面中通常可用(普通C)。如果你想要C ++,请尝试获取boost,它将各种特定于系统的接口包装在体面的可移植C ++组件中。但是,除了通过Java层之外,Android平台上的许多服务都不可用。

广告编辑:标准库规范由某人拥有,即ISO。不幸的是,该标准不能从ISO免费下载,但在网上搜索显示this

Ad Edit2:C ++标准库基于底层C标准库。 C ++标准库具有无扩展标头,而标准C库具有带后缀.h的标头。两者都由(不同的)ISO标准定义。 C库与操作系统的联系最紧密(取决于进行系统调用的具体方法),因此它随系统提供。另一方面,C ++库在使用C库与系统通信时更依赖于编译器,因此它随编译器提供。这就是为什么他们住在不同的地方。