Я ищу в if_link.h
в заголовках ядра Linux и содержит это перечисление:Зачем определять макрос с тем же именем и содержимым в C?
enum {
IFLA_UNSPEC,
IFLA_ADDRESS,
IFLA_BROADCAST,
IFLA_IFNAME,
IFLA_MTU,
IFLA_LINK,
IFLA_QDISC,
IFLA_STATS,
IFLA_COST,
#define IFLA_COST IFLA_COST
IFLA_PRIORITY,
#define IFLA_PRIORITY IFLA_PRIORITY
IFLA_MASTER,
#define IFLA_MASTER IFLA_MASTER
....
}
В определяет смотреть бесполезно; Какова их цель? И почему только некоторые из них определяют?
Возможно, код использует '#ifdef IFLA_COST' где-то –
Что действительно озадачивает, зачем определять макросы там. Потому что действительно, возможно, для них в другом месте есть возможность ожидать, что они будут макросами. –
Возможно, раньше существовал 'define', который был изменен на перечисление, и это только для обратной совместимости. Вы попробовали «git wame»? – coredump