将#define置于结构中
发布时间:2020-12-16 10:04:20 所属栏目:百科 来源:网络整理
导读:来自 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 /* exp
来自
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,放置它们并不重要(只要它在文件中比在第一次使用时更高).很可能这些常量仅在该结构中使用,所以它被放在那里从逻辑上讲它们更容易找到.它们本来可以放在它们使用的第一个位置之上,但是由于类似的目的它们被组合在一起.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |