Online Computer Dictionary
Browse words
|
Based on
FOLDOC
Queried for: C preprocessor
Definition:
(cpp) The standard Unix macro-expansion utility run as the first phase of the C compiler, cc. Cpp interprets lines beginning with "#" such as #define BUFFER_SIZE 256 as a textual assignment giving the symbol BUFFER_SIZE a value "256". Symbols defined with cpp are traditionally given upper case names to distinguish them from C identifiers. This symbol can be used later in the input, as in char input_buffer[BUFFER_SIZE]; This use of cpp to name constants, rather than writing these magic numbers inline, makes a program easier to read and maintain, especially if there is more than one occurrence of BUFFER_SIZE all of which must all have the same value.
Cpp macros can have parameters: #define BIT(n) (1<<(n)) This can be used with any appropriate actual argument: msb = BIT(nbits-1); Note the parentheses around the "n" in the definition of BIT.
Without these, operator precedence might mean that the expression substituted in place of n might not be interpreted correctly (though the example above would be OK).
Cpp also supports conditional compilation with the use of #ifdef SYMBOL ...
#else ...
#endif and #if EXPR ...
#else ...
#endif constructs, where SYMBOL is a Cpp symbol which may or may not be defined and EXPR is an arithmetic expression involving only Cpp symbols, constants and C operators which Cpp can evaluate to a constant at compile time.
Decus cpp is a free implementation for VMS.
The most widely used C preprocessor today is the GNU CPP, distributed as part of GCC.
Browse through top 20 categories or see more ...
- programming (659)
- application (76)
- networking (823)
- language (1034)
- operating_system (420)
- mathematics (228)
- graphics (155)
- compiler (21)
- library (41)
- World-Wide_Web (133)
- cryptography (36)
- database (166)
- algorithm (132)
- logic (61)
- software (72)
- audio (27)
- virtual_reality (10)
- communications (329)
- file system (28)
- filename_extension (25)


