最佳答案
我希望有人能够解释 Linux 内核源代码中使用的 _ _ user 宏的细微差别。
First of all, the macro:
# define __user __attribute__((noderef, address_space(1)))
现在,经过一些谷歌我读到,这个宏允许一个人指定一个属于用户地址空间的指针,它不应该被解引用。
我可能忽略了一些显而易见的事实,但有人能解释一下这样一个宏观的含义吗?例如,这个宏在什么地方有用,有什么好的例子吗?再说一次,如果我遗漏了什么显而易见的东西,请原谅我。
为了把它放在某个上下文中,我在检查一些 USB 代码(linux/usbdevice _ fs.h)时偶然发现了这个宏。我只是在寻找对内核中使用的这种宏(或其他类似宏)的一般理解。
谢谢你帮我找!