Android NDK:gnustl_静态库文档? 我是一个java开发者,我的C++语言和JNI的接触一直到现在为止都是有限的。

Android NDK:gnustl_静态库文档? 我是一个java开发者,我的C++语言和JNI的接触一直到现在为止都是有限的。,c++,android-ndk,gnu,C++,Android Ndk,Gnu,到目前为止,我一直做得很好,但现在我正冒险做一些“聪明”的事情,我越来越受到盲目飞行的限制: 我之所以使用gnustl_静态库,是因为我在同一本地项目空间中移植了其他代码。但是,由于图书馆的本质被削减,我发现C++很难一只手绑在背后。 如果有一个Javadoc(显然不是Javadoc;)或一些这样的文档,我可以用它来查找这个库中包含的内容,以及这些库中包含的内容(虽然我希望有月亮),为什么不包含“map”之类的某些类型,以及最好用什么来代替 从过去几周的谷歌搜索中,我没有发现任何集中且有用的资源

到目前为止,我一直做得很好,但现在我正冒险做一些“聪明”的事情,我越来越受到盲目飞行的限制:

我之所以使用gnustl_静态库,是因为我在同一本地项目空间中移植了其他代码。但是,由于图书馆的本质被削减,我发现C++很难一只手绑在背后。 如果有一个Javadoc(显然不是Javadoc;)或一些这样的文档,我可以用它来查找这个库中包含的内容,以及这些库中包含的内容(虽然我希望有月亮),为什么不包含“map”之类的某些类型,以及最好用什么来代替

从过去几周的谷歌搜索中,我没有发现任何集中且有用的资源,从其他人的知识和专业知识中,我觉得我缺少了一个重要且基本的资源

可以请人帮我一个忙,给我一个文档或教程或例子,或者帮助我导航JNI / C++ +本地Android代码的危险水域? 编辑:

有人向我解释说STL是标准模板库,这里有一个链接指向其中包含的内容:

他们还解释说,gnustl_静态库是基于GNU机器的STL库,它是位于以下位置的一组标头: ${ANDROID-NDK}\sources\cxx stl\gnu libstdc++\include

我只想说这对我帮助很大,因为我不知道发生了什么。我只是不知道该去哪里找

我仍然有点担心STL似乎不属于某个人?(我想这里是Apache风格的body)。有人能纠正我的错误吗

如你所知。还是有点飘忽不定

EDIT2:

如果STL是用于描述所有非基本类型和函数的库。。。为什么要从以下位置拉出string.h: ${ANDROID-NDK}\platforms\ANDROID-9\arch-arm\usr\include


附言:我知道我在这里听起来很愚蠢,但我保证我只是无知。我只是不确定从哪里开始,因为我觉得我必须从中间开始。再说一次,链接到任何你认为我会发现有用的东西将是伟大的

gnustl\u static
是GNU stdlibc++,因为它与gcc一起提供。是的,但是它可能是没有用的教程,所以最好在C++上得到一些体面的书。 图书馆似乎没有被削减。它可能看起来像是因为标准中定义的标准C++库比java中的标准库小很多。它有标准的文件访问权限,但没有文件操作,没有线程,没有网络等

在android中,界面通常可用(普通C)。如果你想要C++,尝试获取,它封装了各种体态的、特定的、可移植的C++组件。然而,Android平台上的许多服务只有通过Java层才能使用

广告编辑:标准库规范由某人拥有,即ISO。不幸的是,该标准不能从ISO免费下载,但搜索web就会发现


AdEdt2:C++标准库是基于底层C标准库的。C++标准库具有扩展的较少标头,而标准C库具有后缀 H./Cuth>的标题。两者都由(不同的)ISO标准定义。C库与操作系统的联系最紧密(取决于进行系统调用的特定方法),因此它是随系统提供的。另一方面,C++库更依赖于编译器,而它使用C库来与系统对话,因此它是由编译器提供的。这就是他们生活在不同地方的原因。

gnustl_static
是GNU stdlibc++,因为它与gcc一起提供。是的,但是它可能是没有用的教程,所以最好在C++上得到一些体面的书。 图书馆似乎没有被削减。它可能看起来像是因为标准中定义的标准C++库比java中的标准库小很多。它有标准的文件访问权限,但没有文件操作,没有线程,没有网络等

在android中,界面通常可用(普通C)。如果你想要C++,尝试获取,它封装了各种体态的、特定的、可移植的C++组件。然而,Android平台上的许多服务只有通过Java层才能使用

广告编辑:标准库规范由某人拥有,即ISO。不幸的是,该标准不能从ISO免费下载,但搜索web就会发现


AdEdt2:C++标准库是基于底层C标准库的。C++标准库具有扩展的较少标头,而标准C库具有后缀 H./Cuth>的标题。两者都由(不同的)ISO标准定义。C库与操作系统的联系最紧密(取决于进行系统调用的特定方法),因此它是随系统提供的。另一方面,C++库更依赖于编译器,而它使用C库来与系统对话,因此它是由编译器提供的。这就是为什么他们住在不同的地方。

我认为图书馆不会被任何方式削减。“它应该是GNU stdlibc++的全部。”简·胡德克,我似乎有错误的印象。在我的帖子中添加了一个编辑。我更新了下面的答案,以尝试回答编辑1和2。我不认为该库以任何方式被削减。“它应该是GNU stdlibc++的全部。”简·胡德克,我似乎有错误的印象。在我的帖子中添加了一个编辑。我更新了下面的答案,尝试回答编辑1和2。非常感谢。“Ad Edit2”特别清晰和有用,帮助我构建了另一个很大一部分