gpt4 book ai didi

洋红色内核中具有三个选项的 C 结构

转载 作者:太空宇宙 更新时间:2023-11-04 04:23:35 24 4
gpt4 key购买 nike

在 magenta 内核中有一个段落,其中 struct 不仅有一个类型和名称,还有一个选项。我在引用资料中找不到任何内容来解释该语法。那么什么是 __CPU_ALIGN 作为 struct for 中的参数,我在哪里可以找到它的语法?

struct type name ???

#if WITH_SMP
/* a global state structure, aligned on cpu cache line to minimize aliasing */
struct mp_state mp __CPU_ALIGN = {
.hotplug_lock = MUTEX_INITIAL_VALUE(mp.hotplug_lock),
.ipi_task_lock = SPIN_LOCK_INITIAL_VALUE,
};

我知道 __CPU_ALIGN 本身用于为 CPU 内存大小对齐字节。

最佳答案

它是 aligned attribute 的宏简写, 这是一个 GCC 扩展。

宏定义如下:

#define __CPU_ALIGN __ALIGNED(CACHE_LINE)

宏 __ALIGNED 依次定义如下:

#define __ALIGNED(x) __attribute__((aligned(x)))

...与 GCC 文档中的语法相匹配。 (CACHE_LINE 的值取决于架构。)

关于洋红色内核中具有三个选项的 C 结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43891648/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com