水木社区手机版
首页
|版面-Linux系统与应用(LinuxApp)|
新版wap站已上线
返回
1/1
|
转到
主题:SYSCALL_DEFINE2(umount, char __user *, name, int, flags)对i
楼主
|
ludongxing
|
2021-09-10 12:33:21
|
只看此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楼
|
lag
|
2021-09-10 15:08:26
|
只看此ID
这是个宏吧 SYSCALL_DEFINE2不是可以点击吗 一路点下去可以看到最终的定义
【 在 ludongxing (ludongxing) 的大作中提到: 】
:
https://docs.huihoo.com/doxygen/linux/kernel/3.7/fs_2namespace_8c_source.html#l01245
: 下面这条语句出现在第1245行:
: SYSCALL_DEFINE2(umount, char __user *, name, int, flags)
: ...................
--
FROM 36.112.6.*
2楼
|
ludongxing
|
2021-09-10 15:25:48
|
只看此ID
我以为是个函数的定义,但是好像前辈说的是对的,应该是个宏。
可是,能不能请帮忙展开说说,怎么可以看到最终的定义,我点开
看到了这个 #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__)
但是这里的省略号... 和 _##name 和 __VA_ARGS__ 都怎么解释是啥意思啊?
【 在 lag 的大作中提到: 】
: 这是个宏吧 SYSCALL_DEFINE2不是可以点击吗 一路点下去可以看到最终的定义
--
FROM 110.255.90.*
3楼
|
world
|
2021-09-10 16:01:12
|
只看此ID
哈哈,你这样问起来问题会无穷无尽的。
...表示可变参数。##是用来连接的。
【 在 ludongxing (ludongxing) 的大作中提到: 】
: 我以为是个函数的定义,但是好像前辈说的是对的,应该是个宏。
: 可是,能不能请帮忙展开说说,怎么可以看到最终的定义,我点开
: 看到了这个 #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__)
: ...................
--
FROM 114.245.108.*
1/1
|
转到
选择讨论区
首页
|
分区
|
热推
BYR-Team
©
2010.
KBS Dev-Team
©
2011
登录完整版