5.4 Predefined identifiers

---------------------------

Identifiers defined by the compiler depending on compilation mode:

__TLS__ compiles Windows (w32, w32c, dll).

__DLL__ compiles .dll

__CONSOLE__ compiles a Windows console application

__WIN32__ compiles a Windows GUI application

__FLAT__ compiles 32-bit code

__MSDOS__ compiles 16-bit code

__TINY__ uses the 'tiny' memory model in 16-bit mode

__SMALL__ uses the 'small' memory module in 16-bit mode

__DOS32__ compiles 32-bit DOS code (d32)

__COM__ compiles a .com file

__SYS__ compiles a .sys file

__ROM__ compiles a .rom file

__OBJ__ compiles an .obj file

__TEXE__ compiles an .exe file ('tiny' memory model)

__SEXE__ compiles an .exe file ('small' memory model)

__MEOS__ compiles an .exe file for MenuetOS (MeOS)

codesize compiles, optimizing for code size

speed compiles, optimizing for execution speed

cpu defines the type of cpu to compile for

0 - 8086

1 - 80186

2 - 80286

3 - 80386

4 - 80486

5 - Pentium

6 - Pentium MMX

7 - Pentium II

These identifiers can be checked using directives '#ifdef' or

'#ifndef'. The identifier 'cpu' may be used only with condition checking

operators:

#ifdef cpu > 3 // is cpu is later than an 80386