I l@ve RuBoard Previous Section Next Section

30.5 Preprocessor

  • Always put parentheses, ( ), around each constant expression defined by a pre-processor #define directive:

    #define BOX_SIZE (3 * 10) /* Size of the box in pixels */ 
  • Put ( ) around each argument of a parameterized macro:

    #define SQUARE(x) ((x) * (x)) 
  • Surround macros that contain complete statements with curly braces:

    // A fatal error has occurred.  Tell user and abort
    #define DIE(msg) {printf(msg);exit(8);} 
  • When using the #ifdef/#endif construct for conditional compilation, put the #define and #undef statements near the top of the program and comment them.

  • Whenever possible, use const instead of #define.

  • The use of inline functions is preferred over the use of parameterized macros.

    I l@ve RuBoard Previous Section Next Section