dict.org

The DICT Development Group


Search for:
Search type:
Database:

Database copyright information
Server information
Wiki: Resources, links, and other information


1 definition found
 for C preprocessor
From The Free On-line Dictionary of Computing (18 March 2015) :

  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.
  
     (2001-12-31)
  

Questions or comments about this site? Contact webmaster@dict.org