Printer Friendly
The Free Dictionary
1,037,613,608 visitors served.
?
Dictionary/
thesaurus
Medical
dictionary
Legal
dictionary
Financial
dictionary
Acronyms
 
Idioms
Encyclopedia
Wikipedia
encyclopedia
?

C preprocessor

   Also found in: Acronyms, Wikipedia 0.01 sec.
(tool, programming)C preprocessor - (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.

?Page tools
Printer friendly
Cite / link
Email
Feedback
? Mentioned in
 
Encyclopedia browser? ? Full browser
 
 
Encyclopedia
?

Disclaimer | Privacy policy | Feedback | Copyright © 2008 Farlex, Inc.
All content on this website, including dictionary, thesaurus, literature, geography, and other reference data is for informational purposes only. This information should not be considered complete, up to date, and is not intended to be used in place of a visit, consultation, or advice of a legal, medical, or any other professional.. Terms of Use.