您的位置:首页 > 运维架构 > Linux

Linux中__ASSEMBLY__ 宏定义的作用

2016-02-28 15:49 357 查看
转载地址:http://my.oschina.net/u/930588/blog/134751

某些常量宏会同时出现被c和asm引用,而c与asm在对立即数符号的处理上是不同的。asm中通过指令来区分其操作数是有符号还是无符号,而不是通过操作数。而c中是通过变量的属性,而不是通过操作符。c中如要指名常量有无符号,必须为常量添加后缀,而asm则通过使用不同的指令来指明。如此,当一个常量被c和asm同时包含时,必须作不同的处理。故AFLAGS中将添加一项D__ASSEMBLY__,来告知预处理器此时是asm。

下面的代码取自kernel 2.6.10,include/asm-i386/page.h,L123-127

?
类似的大家也可以去分析一下__KERNEL__的作用.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: