首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >"\__signed“、"\__signed__”和"signed“有什么区别?

"\__signed“、"\__signed__”和"signed“有什么区别?
EN

Stack Overflow用户
提问于 2013-08-13 18:32:19
回答 3查看 779关注 0票数 3

我正在学习"include/asm-x86/types.h",我对\__signed__的含义有点困惑。

当我用谷歌搜索这个关键词时,我得不到任何有用的信息。为什么不直接使用signed而不是\__signed__呢,这有什么特殊的意义吗?

EN

回答 3

Stack Overflow用户

发布于 2013-08-13 18:35:49

这是为了向后兼容,当旧的编译器不能识别signed关键字时,就会使用这样的替代方法。

票数 1
EN

Stack Overflow用户

发布于 2013-08-13 18:37:00

__signed__signed的区别在于名称空间的不同。signed名称仅在__KERNEL__中可用,在外部不可用。

正如您提到的header file顶部所述:

代码语言:javascript
运行
复制
/*
* __xx is ok: it doesn't pollute the POSIX namespace. Use these in the
* header files exported to user space
*/

对于不带下划线的signed名称,它说明:

代码语言:javascript
运行
复制
/*
* These aren't exported outside the kernel to avoid name space clashes
*/
票数 1
EN

Stack Overflow用户

发布于 2013-08-13 18:38:16

__signed__还用于使用gcc -traditional进行编译,其中不能识别关键字signed

不要使用c __signed__进行谷歌搜索,因为在搜索中会跳过像__这样的特殊字符,使用c "__signed__"进行文字搜索,您将获得有用的信息。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18206770

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档