为什么同时使用匿名枚举和为常量定义宏?

时间:2015-11-09 12:09:20

标签: c enums constants c-preprocessor

为什么netinet / in.h以这种方式定义常量?

enum
{
    IPPROTO_IP = 0,    
#define IPPROTO_IP          IPPROTO_IP
    IPPROTO_HOPOPTS = 0,   
#define IPPROTO_HOPOPTS     IPPROTO_HOPOPTS
    IPPROTO_ICMP = 1,      
#define IPPROTO_ICMP        IPPROTO_ICMP
    IPPROTO_IGMP = 2,      
    ...
};

1 个答案:

答案 0 :(得分:3)

可能还有其他代码依赖于{ "presets": ["es2015"] } 等。