加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

将#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,放置它们并不重要(只要它在文件中比在第一次使用时更高).很可能这些常量仅在该结构中使用,所以它被放在那里从逻辑上讲它们更容易找到.它们本来可以放在它们使用的第一个位置之上,但是由于类似的目的它们被组合在一起.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读