水木社区手机版
首页
|版面-C++程序设计语言(CPlusPlus)|
新版wap站已上线
返回
1/1
|
转到
主题:SYSCALL_DEFINE2(umount, char __user *, name, int, flags)对i
楼主
|
ludongxing
|
2021-09-10 14:28:15
|
只看此ID
https://docs.huihoo.com/doxygen/linux/kernel/3.7/fs_2namespace_8c_source.html#l01245
下面这条语句出现在第1245行:
SYSCALL_DEFINE2(umount, char __user *, name, int, flags)
我有三个不理解的地方:
1. umount是什么意思,按语法来说,umount这个地方应该填类似于这样的
东西:int abc 为什么很突兀的单独放一个umount?
2. char __user *, name, 难道不应该写成 char * name, 吗?
__user突然放到这里是符合语法的吗,为何name前面有一个逗号,语法
上允许吗?
3. int, flags难道不应该写成 int flags吗?为何flags前面有一个逗号,
语法上允许吗?
这是C语言还是C++语言?
--
FROM 110.255.90.*
1楼
|
z16166
|
2021-09-10 19:25:54
|
只看此ID
你得把SYSCALL_DEFINE2这个宏的定义找到,手动展开宏来看
__user是个宏,实际是编译器的属性。
# define __user __attribute__((noderef, address_space(1)))
看这种复杂代码,用有交叉引用功能的IDE比较合适,可以跳到定义、引用的地方。
--
修改:z16166 FROM 125.35.121.*
FROM 125.35.121.*
1/1
|
转到
选择讨论区
首页
|
分区
|
热推
BYR-Team
©
2010.
KBS Dev-Team
©
2011
登录完整版