- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想做的(高级):在 Android 上使用 qsort_r。
没有默认实现。所以我从 BSD 拿了一个。不幸的是,它需要 fls 功能,这在 Android 上也不可用。因此,我获取了 Apple Open Source Libc 库并将 ARM 实现复制到一个内联程序集中。现在我明白了:
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 模式下不支持它。那么如何为这个文件强制使用非 Thumb 模式,或者纯 C 实现是否可用于 fls?
(天哪,为什么我要玩这么低的游戏才能拥有 qsort_r ...)
最佳答案
在您的 Android.mk 文件中,这里介绍了如何设置以编译代码的 thumb、arm 和 neon 版本。汇编语言源文件在makefile中需要将“S”大写,但实际名称不需要大写。后缀“.arm”和“.arm.neon”仅出现在 makefile 中,而不是名称的一部分(例如,下面的文件名为 main.c、main_asm.s、test.c 和 test_asm.s)。
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 \
关于android - Android 没有 qsort_r(或如何禁用强制 Thumb 在 Android ARM 代码中使用 CLZ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14033017/
我希望我能简短并清楚地说明我在下面要做什么。 对于 SOF 问题来说,代码相当复杂,我认为我无法使其变得更简单,同时又可以让其他人直接测试。 所以我把相关部分剪下来放在这里。 为什么我会收到此错误,您
已经查过What is a 'thunk'? , 我仍然不确定为什么传递给重入 qsort_r 的额外参数会被称为 thunk。 例如:(BSD风格qsort_r) void qsort_r(void
与 qsort_r ,我们可以在比较函数中使用外部参数。例如, int cmp_with_parameter(void *a, void *b, void *p) { return (int*)p
qsort_r() 是 qsort() 的可重入版本,它带有一个额外的“thunk”参数并将其传递给比较函数,我想能够在可移植的 C 代码中使用它。 qsort() 是 POSIX 并且无处不在,但
我愿意include其中 qsort_r 给出。我用 gcc -std=c99 -O3 myfun.c -o myfun编译。 它编译、链接和运行良好。我不知道为什么会收到此警告以及此警告的潜在风险是
我想做的(高级):在 Android 上使用 qsort_r。 没有默认实现。所以我从 BSD 拿了一个。不幸的是,它需要 fls 功能,这在 Android 上也不可用。因此,我获取了 Apple
我是一名优秀的程序员,十分优秀!