首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >没有Android的qsort_r (或者如何在Android ARM代码中关闭强制拇指使用CLZ )

没有Android的qsort_r (或者如何在Android ARM代码中关闭强制拇指使用CLZ )
EN

Stack Overflow用户
提问于 2012-12-26 02:24:45
回答 1查看 905关注 0票数 2

我想做的(高级):在Android上使用qsort_r。

没有默认的实现。所以我从BSD上买了一个。不幸的是,它需要fls功能,这在Android上也是不可用的。因此,我抓取了Apple Open Source Libc库,并将ARM实现复制到内联程序集中。现在我得到了这个:

代码语言:javascript
复制
Assembler messages:
Error: selected processor does not support Thumb mode `clz r3,r0'
Error: cannot honor width suffix -- `rsb r0,r3,#32'

AFAIR ARM-6在拇指模式下不支持它。那么,我如何才能对这一个文件强制非Thumb模式,或者是纯C实现可用于fls?

(天哪,为什么我必须玩这么低级的游戏才能有qsort_r...)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-16 22:53:02

在您的Android.mk文件中,这里介绍了如何设置以编译thumb、arm和neon版本的代码。汇编语言源文件在makefile中需要大写"S“,但实际名称不需要大写。后缀".arm“和".arm.neon”只存在于makefile中,而不是名称的一部分(例如,下面的文件分别命名为main.c、main_asm.s、test.c和test_asm.s)。

代码语言:javascript
复制
LOCAL_ARM_MODE := arm  # remove this if you want thumb mode
LOCAL_ARM_NEON := true # remove this if you want armv5 mode

# this flag will allow neon intrinsics in your C files
LOCAL_CFLAGS := -mfpu=neon -march=armv7

LOCAL_SRC_FILES := \
          main.c.arm \
          test.c.arm.neon \
          main_asm.S.arm \
          test_asm.S.arm.neon \
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14033017

复制
相关文章

相似问题

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