linux内核头文件中预定义后面接函数一样的代码是什么意思

文盲森森
  • 55

图片描述

比如说/ ipc/sem.c /
#define _NR_semget 190
__SYSCALL(__NR_semget,sys_semget)//这里像函数一样的代码是什么意思

回复
阅读 2.2k
3 个回答
✓ 已被采纳

这里其实是两行。
前面定义了一个宏,值是190。
预处理语句不需要分号结束的。

后面一行的__SYSCALL是一个宏,在大前面定义的。括号里的是它的参数。

你可以理解成将该数字(也就是系统调用号)跟后面的系统调用函数关联起来

Linux内核的函数这么多,不用define预处理的话,不仅维护起来费劲,也不好管理

宣传栏