首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java代码如何检查浮点寄存器的数量?

Java代码如何检查浮点寄存器的数量?
EN

Stack Overflow用户
提问于 2013-11-29 07:39:13
回答 1查看 326关注 0票数 2

我们有一个本机库(一个完整的游戏引擎和游戏代码),它构建在两个不同的版本中。一个版本支持带有32个浮点寄存器和Neon SIMD指令的armeabi-v7a,另一个版本支持带有16个浮点寄存器的armeabi-v7a (用于例如Tegra 2设备),因此不使用Neon SIMD指令,因为这是行不通的。

当我们的游戏开始时,我们在Java做一些设置,然后加载正确的库。现在,如何找到要加载的库?一种解决方案是添加另一个本机库,除了上面提到的两个,它只有一个方法调用JNI来使用NDK检查硬件支持.但是,肯定有办法从Java中检查这一点吗?

我尝试打印在android.os.Build类中找到的所有内容,并得到了这些内容,但是我看不出在这里使用什么:

代码语言:javascript
复制
BOARD: EeePad
BOOTLOADER: unknown
BRAND: asus
CPU_ABI: armeabi-v7a
CPU_ABI2: armeabi
DEVICE: TF101
DISPLAY: IML74K.WW_epad-9.2.1.27-20120615
FINGERPRINT: asus/WW_epad/TF101:4.0.3/IML74K/WW_epad-9.2.1.27-20120615:user/release-keys
HARDWARE: ventana
HOST: Mars
ID: IML74K
MANUFACTURER: asus
MODEL: Transformer TF101
PRODUCT: WW_epad
RADIO: unknown
SERIAL: 037c708543204317
TAGS: release-keys
TYPE: user
USER: unknown
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-03 13:21:55

您可以尝试阅读/proc/cpuinfo,它应该包含一个Features :行,告诉您您所使用的核心的功能。

例如,在我的Xperia Z1上,它显示:

代码语言:javascript
复制
Features    : swp half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt

应该很容易从Android / Java层处理这一行的内容。

这也是NDK在调用getCpuFeatures()时所做的工作。

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

https://stackoverflow.com/questions/20280622

复制
相关文章

相似问题

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