c++ - 安卓NDK : gnuSTL_static library documentation?

标签 c++ android-ndk gnu

我是一名 Java 开发人员,到目前为止,我对 C++/JNI 的接触有限。

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

我正在使用 gnuSTL_static 库,因为我在同一 native 项目空间中移植了其他代码。但是,由于库的精简特性,我发现很难用一只手绑在背后学习 C++。

如果有一个 Javadoc(显然不是 Javadoc ;))或一些这样的文档,我可以用它来找到这个库中包含的内容,然后找到这些库中包含的内容(同时我希望月亮)为什么不包括某些类型(例如“ map ”)以及最好使用什么类型!

从过去几周的 Google 搜索中,我没有遇到任何集中且有用的资源,并且根据其他人的知识和专业知识,我觉得我缺少重要的基本资源!

有人可以帮我指点文档或教程或示例或其他可以帮助我在 JNI/C++/原生 Android 编码的危险水域中航行的东西吗?

编辑:

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

他们还解释说 gnuSTL_static 库是基于 GNU 机器的 STL 库,它是一组位于内部的头文件: ${ANDROID-NDK}\sources\cxx-STL\gnu-libstdc++\include

我只想说这对我有不可估量的帮助,因为我不知道发生了什么。我只是不知道去哪里找。

我还是有点担心,STL 好像没有人拥有? (我在这里考虑 Apache 风格的主体)。有人可以纠正我吗?

如你所知。这里仍然有点漂泊。

编辑 2:

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

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

最佳答案

gnuSTL_static 是 GCC 附带的 GNU stdlibc++。这是official documentation is here ,但它作为教程可能毫无用处,所以最好找一些关于 C++ 的好书。

图书馆似乎没有被砍掉。你可能看起来像这样,因为规范中定义的标准 C++ 库比 Java 中的库小得多。它具有对文件的标准访问权限,但没有文件操作、没有线程、没有网络等。

在安卓中POSIX接口(interface)普遍可用(纯 C)。如果你想要 C++,请尝试获取 boost ,它将各种特定于系统的接口(interface)包装在体面的可移植 C++ 组件中。但是,Android 平台上的许多服务只有通过 Java 层才能使用。

广告编辑:标准库规范归某人所有,即 ISO。不幸的是,该标准不能从 ISO 免费下载,但在网上搜索会发现 this .

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

关于c++ - 安卓NDK : gnuSTL_static library documentation?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6293021/

相关文章:

linux - GUPC 与伯克利 UPC

linux - 配置 : error: no acceptable C compiler found in $PATH

c++ - 构造函数应该接受参数还是应该创 build 置器?

c++ - QTcpClient 成功连接,但没有连接到我的服务器。它连接在哪里?

c++ - 重绘时如何避免重新启动多边形?

c++ - 如何在两个排序数组的并集中找到第 k 个最大的元素?

c - 什么是文件序列号?

android - Crashlytics NDK 符号和 Gradle 任务

android - 是否可以在没有 JNI 的情况下直接从 native 代码记录 Android systrace 事件?

java - Android NDK 链接器路径错误