Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux “什么是”呢;第「;在__PCPU_ATTRS";内核代码?_Linux_Linux Kernel_Kernel - Fatal编程技术网

Linux “什么是”呢;第「;在__PCPU_ATTRS";内核代码?

Linux “什么是”呢;第「;在__PCPU_ATTRS";内核代码?,linux,linux-kernel,kernel,Linux,Linux Kernel,Kernel,我正在研究Linux内核中的代码。特别是 我对中的部分有一个问题 通常,我使用http://elixir.free-electrons.com/查找变量定义。但有时很难找到真正的 在这种情况下,什么是section?在这种特殊情况下section是一个变量属性。它是编译器特定的构造,而不是要在站点上查找的符号名 粗略地说,它只允许一个人选择在什么确切的部分应该放置的对象。也就是说,通常情况下,编译器(gcc)会将生成的对象放在程序的数据或bss部分,但属性部分将帮助您进行自定义 更全面的解释可以

我正在研究Linux内核中的代码。特别是

我对中的
部分有一个问题

通常,我使用
http://elixir.free-electrons.com/
查找变量定义。但有时很难找到真正的


在这种情况下,什么是
section

在这种特殊情况下
section
是一个变量属性。它是编译器特定的构造,而不是要在站点上查找的符号名

粗略地说,它只允许一个人选择在什么确切的部分应该放置的对象。也就是说,通常情况下,编译器(
gcc
)会将生成的对象放在程序的
数据
bss
部分,但属性
部分将帮助您进行自定义

更全面的解释可以在中找到

#define __PCPU_ATTRS(sec)                       \
    __percpu __attribute__((section(PER_CPU_BASE_SECTION sec))) \
    PER_CPU_ATTRIBUTES