Этот вопрос относится к C. Уже было много вопросов по теме переменных с двойным подчеркиванием, например,
Каковы правила использования подчеркивания в идентификаторе C++?
Почему люди так часто используют __(двойное подчеркивание) в C++
Значение двойного подчеркивания в начале
Насколько я понимаю, __myvar
зарезервировано для использования компилятором. Однако я не уверен, где найти точное значение таких переменных и как их использовать.
Например, я изучаю этот блок кода:
#define fatalError(...) { char str[1000]; sprintf(str, __VA_ARGS__); printf( "%s (%s in %s, line %d)\n", str, __func__, __FILE__, __LINE__); exit(EXIT_FAILURE); }
Например, неясно, к чему относится __VA_ARGS__
. Поскольку он зарезервирован компилятором, а я использую gcc, должен ли я искать __VA_ARGS__
в документации gcc?