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__的作用.
某些常量宏会同时出现被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
?
相关文章推荐
- Linux设备驱动模型
- Centos7实现3389远程桌面登录
- x86架构Linux系统C语言程序执行流分析
- linux笔记 14课linux内核参数设定及内核编译安装
- 在CentOS 上卸载vsftpd FTP服务器
- 关于VirtualBox下CentOS 6.x调整分辨率的问题
- linux系统优化
- Linux精讲——用户名文件和密码文件
- Linux入门(一)文件管理
- Linux磁盘分区及要求
- Linux内核的中断机制
- 文件查看命令
- Linux 内存机制原理物理内存,Cache化,Buffer,Swap关系
- Linux内核分析
- linux 在批处理中,完整路径有空格的处理方式(加引號)
- linux C宏定义实现打印调试信息
- Centos7安装配置vnc
- Linux下多目录的Makefile编写
- centos6.4的本地yum源配置
- linux中根据进程的PID值来查找执行文件的及其路径