这是针对 Android NDK 项目的,但我猜它通常适用于 ARM 的 GCC。
我知道 Android NDK 使用软浮点来保持与 ARMv5 的兼容性,但我突然想到,在为我们的项目编译 ARMv7 库时,库内部的所有调用都可以使用硬浮点,并且只使用软浮点来调用其他库,但我不确定是否有可能告诉编译器这样做。我的感觉是它不是,但我希望有人可能知道一种方法来做到这一点。
(作为旁注 - 如果在 NDK 中使用 Clang 可以做到这一点,或者如果 Clang 只是这样做,很高兴知道)
一些背景知识:它是一个使用 NDK 编译的基于物理的库,非常重视浮点的使用,我正在研究可能的优化。
编辑:考虑一下,它只能确定一个函数在链接时是否是外部的,而硬/软浮点会影响编译器,所以我猜如果这是可能的,我需要手动指定函数应该在哪里使用硬浮点,以便编译器知道。