Most TCC arguments are only limited by the amount of available RAM. There are a few (like the maximum filename size) that are limited by the Windows APIs.

 

Length Limits (characters)

 

entity

name

value

combined

environment variable

1023

none

none

alias

1023

none

none

user defined function

1023

none

none

 

command type

before expansion

after expansion

command line

none

none

command group

none

none

 

Nesting Limits

 

command

depth

CALL

64

DO

no limit

FOR

no limit

GOSUB without parameters

no limit

GOSUB with parameters

22

SETLOCAL

32

IFF

no limit

 

Miscellaneous Limits (characters)

 

entity

limit

character count in any function

none

number of batch file parameters

8,191

number of GOSUB parameters

255

file name (Windows limitation)

32,767

include list

none

single parameter

none

global alias list *

262,144

global function list *

131,072

key substitution table

128

directory stack (PUSHD)

8,191

 

* The global alias list and global function list sizes may be increased with the AliasSize and FunctionSize .INI directives.