There is a limit that is different from the compiler.
From section 6.10.2 of standard [C]) ( http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1570.pdf ):
6 A #include , - #include , (. 5.2.4.1).
5.2.4.1:
, :
...
, , 15 , , , .
, , , .
, :
main.h:
#include "main.h"
extern int x;
main.c:
#include <stdio.h>
#include "main.h"
int x = 2;
int main()
{
printf("x=%d\n",x);
return 0;
}
gcc :
error: #include
(gcc 4.8.5) 200 , . . gcc, 11.2.
MSVC 10 (. ). , ( ), MSVC .