gpt4 book ai didi

c - 在结构中放置#define

转载 作者:太空狗 更新时间:2023-10-29 16:00:59 24 4
gpt4 key购买 nike

来自linux内核代码

struct gpio_desc {
struct gpio_chip *chip;
unsigned long flags;
/* flag symbols are bit numbers */
#define FLAG_REQUESTED 0
#define FLAG_IS_OUT 1
#define FLAG_EXPORT 2 /* protected by sysfs_lock */
#define FLAG_SYSFS 3 /* exported via /sys/class/gpio/control */
#define FLAG_ACTIVE_LOW 6 /* value has active low */
#define FLAG_OPEN_DRAIN 7 /* Gpio is open drain type */
#define FLAG_OPEN_SOURCE 8 /* Gpio is open source type */
#define FLAG_USED_AS_IRQ 9 /* GPIO is connected to an IRQ */
#define FLAG_IS_HOGGED 11 /* GPIO is hogged */

/* Connection label */
const char *label;
/* Name of the GPIO */
const char *name;
};

将定义放在结构体中的原因是什么?

最佳答案

使用#define,将它们放在哪里并不重要(只要它在文件中的位置高于首次使用的位置)。这些常量很可能只在该结构中使用,因此从逻辑上讲,它们放在那里更容易找到。它们本可以放在它们最初使用位置之上的任何位置,但由于相似的目的,它们被组合在一起。

关于c - 在结构中放置#define,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40181651/

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