Союз epoll_data_t
выглядит следующим образом:epoll_data_t вопрос (в частности, о типах данных C)
typedef union epoll_data {
void *ptr;
int fd;
__uint32_t u32;
__uint64_t u64;
} epoll_data_t;
Это более общий вопрос C, но почему ведущие двойное нижнее подчеркивание __uint {32,64} типов вместо только uint {32,64} без подчеркивания? Я действительно не понимаю, почему/когда вы будете использовать версию подчеркивания, но я думал, что uint32 без подчеркивания будет правильной вещью для использования в объединении, общедоступном для внешнего мира.
Это действительно не имеет отношения к этому конкретному вопросу, хотя это касается имен типов, которые не имеют связи в C. – caf