browse words by letter
a b c d e f g h i j k l m n o p q r s t u v w x y z


  1  definition  found 
  From  The  Free  On-line  Dictionary  of  Computing  (13  Mar  01)  [foldoc]: 
  C  preprocessor.  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  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 
  #if  EXPR 
  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.