听起来我应该可以使用Google,但找不到很好的参考。 __attribute__((force))
到底是做什么的?如:
return (__attribute__((force)) uint32_t) *p
(这是针对使用clang交叉编译的ARM系统,但是即使在clang / arm特定页面中,我也找不到此属性的任何引用。)
答案 0 :(得分:3)
__attribute__((force))
用于抑制稀疏(Linux内核的c语义检查器)中的警告。
wikipedia article of sparse列出了稀疏定义的以下属性:
如果您需要有关这些的更多信息,可以查看the man page of sparse
在Linux内核中,某些属性在 linux/include/linux/compiler_types.h中重新定义。例如,__force
扩展为__attribute__((force))
或__bitwise
扩展为__attribute__((bitwise))
。
然而linux documentation about sparse告诉我们,gcc忽略了以下属性:
使用gcc,所有“ __按位” /“ __ force的东西”都消失了,所有这些最终看起来就像gcc的整数一样。