#define Определение2Названия(НАЗВАНИЕ1, НАЗВАНИЕ2) \
ОпределениеНазвания(Объединить(Объединить(НАЗВАНИЕ1, _), НАЗВАНИЕ2))
#define Определение2Названия(НАЗВАНИЕ1, НАЗВАНИЕ2) \
ОпределениеНазвания(НАЗВАНИЕ1 ## _ ## НАЗВАНИЕ2)
А теперь что не так?
А сейчас почему не собирается?
флаг_инициализации__ ## Определение2Названия
флаг_инициализации__ ## Определение2Названия
склеиваются до того как выполнется подстановка Определение2Названия(НАЗВАНИЕ1, НАЗВАНИЕ2)
. а тот шо не так?
visual studio компилил этот код без проблем
)флаг_инициализации
не является одним валидным токеном препроцессора. переменная ведет себя так, как будто
(1 << i)
(тип этого выражения -- int) на (1ull << i)
(а этого -- unsigned long long), то вывод будет выглядеть более ожидаемо.нашел https://src.fedoraproject.org/rpms/kernel , но там последняя версия ядра..
неопределенный символ: dwHighDateTime
отсутствует оператор в выражении
((3 * 24 * 60 * 60 * 10000000) / 0x100000000)
cmp eax, 603
По-хорошему следовало бы пропустить этот код через препроцессор и смотреть на то, что получилось, но поскольку тут всё по-русски, из-под препроцессора вместо букв выходят коды юникодовых символов. Надеюсь, ты научищься их читать со временем. Я этого делать не планирую.