我正在使用用于Android手机的ARM编译器来编译调制解调器代码。
我收到以下错误:
function "typeof" declared implicitly
然后,尽管我应该使用
__typeof__
。但是我遇到了同样的错误:function "__typeof__" declared implicitly
我什至尝试了
__typeof
。但是它们都不起作用。为什么?
编译器为RVDS 5.01。
命令行包含在某些脚本中。
错误消息是:
"/opt2/huanglianjun/PD1401V-modem-1.2.1.c1/boot_images/core/storage/ext4/src/common/div64.h", line 47:
Error: #223-D: function "typeof" declared implicitly.
代码是:
#define do_div(n,base) do{ \
uint32_t __base = (base); \
uint32_t __rem; \
(void)(((typeof((n)) *)0) == ((uint64_t *)0)); \
if (((n) >> 32) == 0) { \
__rem = (uint32_t)(n) % __base; \
(n) = (uint32_t)(n) / __base; \
} else \
__rem = __div64_32(&(n), __base); \
__rem; \
}while(0)
最佳答案
如果我没看错the documentation,至少从RVDS 3.0开始就支持typeof
,但是您需要通过将--gnu
标志传递给armcc
来启用GNU mode。
关于c - 在RVDS 5.01上隐式声明的函数“typeof”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31982546/