Android NDK工具链二进制文件在默认情况下是否生成有异常?

Android NDK工具链二进制文件在默认情况下是否生成有异常?,android,android-ndk,Android,Android Ndk,在阅读了androidndk文档之后,我对这个问题有点困惑。CPLUSPLUS-SUPPORT.html声明: 二、 一,。C++异常支持: 工具链支持C++异常,因为NDK R5,但是所有C++ 源代码在编译时默认支持-fno异常,例如 与以前版本的兼容性原因 但是,STANDALONE-TOOLCHAIN.html表示: 5.3例外情况,RTTI和STL: 默认情况下,工具链二进制文件确实支持C++异常和RTTI。 它们在默认情况下是启用的,因此如果需要,请使用-fno异常和-fno r

在阅读了androidndk文档之后,我对这个问题有点困惑。CPLUSPLUS-SUPPORT.html声明:

二、 一,。C++异常支持:


工具链支持C++异常,因为NDK R5,但是所有C++ 源代码在编译时默认支持-fno异常,例如 与以前版本的兼容性原因

但是,STANDALONE-TOOLCHAIN.html表示:

5.3例外情况,RTTI和STL:


默认情况下,工具链二进制文件确实支持C++异常和RTTI。 它们在默认情况下是启用的,因此如果需要,请使用-fno异常和-fno rtti 要在使用它们构建源时禁用它们(例如生成 较小的机器代码)

这两种说法似乎完全矛盾。还是我误解了什么?那么,默认情况下是否启用或禁用异常?还是取决于其他因素


我猜其中一个文档只是从较旧的版本中继承过来的,这就是产生差异的原因,但我想知道哪个是正确的。

如果您使用提供的
ndk build
系统构建应用程序(您可能是),则默认情况下会禁用异常

STANDALONE-TOOLCHAIN.html
仅适用于将编译器直接用于自己的生成系统,而不是使用
ndk build
。它是这样说的:

现在可以使用Android NDK提供的工具链了 作为独立编译器。如果您已经拥有您的 自己构建系统,只需要能够调用 交叉编译器添加对Android的支持