我正在研究"include/asm-x86/types.h"
,我对\__signed__
的含义感到有些困惑。
当我使用Google关键字时,我无法获得任何有用的信息。为什么不使用signed
代替\__signed__
,它有特殊意义吗?
答案 0 :(得分:1)
这用于向后兼容,当较旧的编译器无法识别signed
关键字时,会使用此类备选方案。
答案 1 :(得分:1)
__signed__
和signed
之间的区别与命名空间有关。 signed
名称仅适用于__KERNEL__
,而非外部。
正如您提到的header file顶部所述:
/*
* __xx is ok: it doesn't pollute the POSIX namespace. Use these in the
* header files exported to user space
*/
对于没有下划线的signed
名称,请说明:
/*
* These aren't exported outside the kernel to avoid name space clashes
*/
答案 2 :(得分:1)
__signed__
也用于gcc -traditional
的编译,其中无法识别关键字signed
。
请勿使用c __signed__
进行Google搜索,因为搜索中会跳过__
等特殊字符,使用c "__signed__"
进行文字搜索,您将获得有用的信息。