Important Notice
The pages on this site contain documentation for very old MS-DOS software,
purely for historical purposes.
If you're looking for up-to-date documentation, particularly for programming,
you should not rely on the information found here, as it will be woefully
out of date.
Predefined Compiler Identifiers
◄Up► ◄Contents► ◄Index► ◄Back►
────────────────────────────────────────────────────────────────────────────
The compiler defines six identifiers that are useful in writing
portable programs. You can use these identifiers to compile code
sections conditionally, depending on the processor and operating
system being used. The predefined identifiers and their functions
are listed below:
Identifier Function
MSDOS Always defined. Identifies target operating
system as MS-DOS.
M_I86 Always defined. Identifies target machine as a
member of the I86 family.
M_I86mM Always defined. Identifies memory model, where
'm' is either S (small model), C (compact
model), M (medium model), L (large model), or
H (huge model). If huge model is used, both
M_I86LM and M_I86HM are defined. Small model
is the default.
NO_EXT_KEYS Defined only when the /Za option is given, thus
disabling Microsoft-specific language
extensions and extended keywords.
_CHAR_UNSIGNED Defined only when the /J option is given to
make the char type unsigned by default.
-♦-