首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android NDK: ARMv6的硬件浮点

Android NDK: ARMv6的硬件浮点
EN

Stack Overflow用户
提问于 2012-12-10 05:06:15
回答 1查看 1.2K关注 0票数 1

我知道安卓提供了对ARMv5TEARMv7a CPU的支持。(armeabiareabi-v7a文件夹)现在大多数安卓手机的CPU都是不带VFPARMv6,带VFPARMv6和带VFPARMv7

我的应用程序有物理模拟,我希望目标设备与硬件浮点只。(VFP)。我不希望支持没有VFP的设备。

如何配置NDK项目将ARMEABI代码编译为使用VFP而不是ARVv5TEARMv6

我可以阻止旧的ARMv6没有VFPARmv5设备时,通过谷歌播放界面上传。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-10 06:27:39

NDK并没有提供任何方便的方法来更改默认的构建选项。您只能添加其他标志,但不能覆盖标准选项。

默认LOCAL_CFLAGS和大多数其他选项将不会对您起作用,因为NDK将其选项放在您的选项之后并覆盖您的标志。我所知道的唯一解决方案是在Application.mk中定义全局APP_CFLAGS。因此,下面的代码应该会导致针对armv6优化的二进制文件具有VFPv2:

代码语言:javascript
复制
APP_CFALGS += -march=armv6 -mno-soft-float -mfloat-abi=softfp -mfpu=vfp

另外,如果我没记错的话,armv6硬件上的vfp指令需要在arm模式(而不是拇指模式)下编译你的代码。为Android.mk中的每个目标指定LOCAL_ARM_MODE := arm以实现此目的。

顺便说一下,我认为你不会满足于armv6设备的性能。即使是最新的高端armv7处理器也比现代英特尔酷睿CPU慢10倍左右。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13791828

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档