Compiler Limits

The table below shows the size or number of each item that the compiler can process. All capacities shown in the table are tested values; the actual number can be greater than the number shown.

Item Tested Values
Control structure nesting (block nesting) 512
Conditional compilation nesting 512
Declarator modifiers 512
Parenthesis nesting levels 512
Significant characters, internal identifier 2048
External identifier name length 64K
Number of external identifiers/file 128K
Number of identifiers in a single block 2048
Number of macros simultaneously defined 128K
Number of parameters to a function call 512
Number of parameters per macro 512
Number of characters in a string 128K
Bytes in an object 512K
Include file nesting depth 512
Case labels in a switch 32K
Members in one structure or union 32K
Enumeration constants in one enumeration 8192
Levels of structure nesting 320
Size of arrays 2 GB