GCC段属性及其预处理

GCC段属性及其预处理,gcc,Gcc,你能告诉我这是什么类型的宏吗?它有什么作用 #define PER_CPU_ALIGNED_SECTION "..shared_aligned" #define PER_CPU_BASE_SECTION ".data..percpu" #define __PCPU_ATTRS(sec) __percpu __attribute__((section(PER_CPU_BASE_SECTION sec))) PER_CPU_ATTRIBUTES 前两个宏

你能告诉我这是什么类型的宏吗?它有什么作用

#define PER_CPU_ALIGNED_SECTION "..shared_aligned"

#define PER_CPU_BASE_SECTION ".data..percpu"

    #define __PCPU_ATTRS(sec)       
    __percpu __attribute__((section(PER_CPU_BASE_SECTION sec))) 
    PER_CPU_ATTRIBUTES
前两个宏中的点运算符是什么

你能告诉我更多关于GCC中使用的“section”属性吗?我在网上找不到关于这个的很多信息。你能给我一个关于这个的链接吗


谢谢。

您确实读过关于gcc节属性的内容,是吗?我认为文件很清楚。双圆点是干什么用的?它只是一个节名;标准节的名称中有一个点(例如:.bss),因此它们可能遵循此命名约定。一些操作系统实际上实施了命名方案(例如:OSX.segment,section)。这些自定义部分只有在链接器被指示如何处理它们时才有用;在gnu工具链中,使用linkerscript。这是一个按名称引用节并提供处理说明的文本文件。您确实读过关于gcc节属性的内容,是吗?我认为文件很清楚。双圆点是干什么用的?它只是一个节名;标准节的名称中有一个点(例如:.bss),因此它们可能遵循此命名约定。一些操作系统实际上实施了命名方案(例如:OSX.segment,section)。这些自定义部分只有在链接器被指示如何处理它们时才有用;在gnu工具链中,使用linkerscript。这是一个按名称引用节并提供处理说明的文本文件。您确实读过关于gcc节属性的内容,是吗?我认为文件很清楚。双圆点是干什么用的?它只是一个节名;标准节的名称中有一个点(例如:.bss),因此它们可能遵循此命名约定。一些操作系统实际上实施了命名方案(例如:OSX.segment,section)。这些自定义部分只有在链接器被指示如何处理它们时才有用;在gnu工具链中,使用linkerscript。它是一个文本文件,按名称引用节,并提供处理说明。