我正在使用ARM编译器为Android手机编译调制解调器代码 我收到了以下错误:
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)
答案 0 :(得分:1)
如果我向右阅读the documentation,则至少支持typeof
至少RVDS 3.0,但您需要通过将--gnu
标记传递给{{1}来启用GNU mode }。