catflap.org Online Dictionary Query


Query string:
Search type:
Database:

Database copyright information
Server information


1 definition found
From The Free On-line Dictionary of Computing (27 SEP 03) :   [ foldoc ]

  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 dictionary@catflap.org
Access Stats