使用Android NDK的-fsigned-char可以安全吗? [英] Is it safe to build with -fsigned-char with Android NDK?
问题描述
为了与其他平台保持一致,我需要在我正在处理的一些本机代码中使用 signed char
。但是默认情况下,Android NDK char
type is unsigned
。
我试图明确地使用 signed char
type,但是它产生太多的警告在签名时有区别
当字符串常量/库函数涉及到,所以我正在寻找使用 -fsigned-char
构建我的代码。
m现在试图预测Android ARM的问题 ABI和API ,当 -fsigned-char
被使用,但我找不到任何问题。
在 ARM体系结构的程序调用标准
ABI(AAPCS),7.1.1算术类型和 C Li ARM架构的brary ABI ,5.6 inttypes.h, char
据说是 unsigned
。 / p>
当您在 -fsigned-char $ c $时,您是否知道使用C库(Android上可用的其他库)时是否会出现问题c>在Android NDK中启用?
我今晚也遇到这个问题。 char
在x86上被视为签名
,但更改为 unsigned
在Android设备上运行时。这使得我的JNI库无法正常工作。
在Android中设置 LOCAL_CFLAGS:= -fsigned-char
我的程序工作!目前我没有发现副作用。谢谢。
For consistency with other platforms, I need to use signed char
in some native code I'm working on. But by default on Android NDK char
type is unsigned
.
I have tried to explicitly use signed char
type but it generates too many warnings differ in signedness
when string constant/library functions are involved, so I'm looking to build my code with -fsigned-char
.
I'm now trying to anticipate problems regarding Android ARM ABI and API when -fsigned-char
is used, but I can't find any problem yet.
In Procedure Call Standard for the ARM Architecture
ABI (AAPCS), 7.1.1 Arithmetic Types, and C Library ABI for the ARM Architecture , 5.6 inttypes.h, char
is said to be unsigned
.
Did you know if there Will be some trouble when using C library (others libraries available on Android) when -fsigned-char
is enabled in Android NDK?
I have also encountered this issue tonight. char
is treat as signed
on x86, but changed to unsigned
when run on Android device. This make my JNI libs don't work properly.
After setting LOCAL_CFLAGS := -fsigned-char
in Android.mk, my program works! Currently I found no side effect. Thanks.
这篇关于使用Android NDK的-fsigned-char可以安全吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!