Почему препроцессор C в GCC интерпретирует слово linux
(маленькие буквы) как константу 1
?
test.c:
#include <stdio.h>
int main(void)
{
int linux = 5;
return 0;
}
Результат $ gcc -E test.c
(остановка после этапа предварительной обработки):
....
int main(void)
{
int 1 = 5;
return 0;
}
Что, конечно, дает ошибку.
(BTW: в файле stdio.h нет #define linux
.)