Некоторые из этих определений препроцессора находятся в функции WinMain и других библиотеках Windows. В чем их цель? Как они работают? и правильно ли писать их в свои реализации или вызовы функций?
Мои первоначальные исследования показывают, что они просто настроены на equlivalent:
#define __in
#define __out
#define __in_opt
Значение означает, что они не заменяются ничем на проходе препроцессора. Являются ли они просто методом документации, без каких-либо функциональных возможностей?
Если это так, я вижу преимущество документирования кода в строке следующим образом. С чем-то вроде doxygen вам нужно записать имена параметров дважды. Таким образом, это теоретически может помочь уменьшить дублирование и поддерживать согласованность...
У меня нет теории о том, как __allowed()
должен работать.