Source of conditional_compilation.cpp


  1: //conditional_compilation.cpp
  2: //Illustrates the defining of different macros to control the inclusion
  3: //and compilation of different code sections, depending on which macro
  4: //is defined at the time of compilation.

  6: /*
  7: To test this program, first activate comment //1 below, then comment //2,
  8: and finally activate both comment //1 and comment //2 simultaneously, and
  9: observe the output on each of the three occasions.
 10: */

 12: #include <iostream>
 13: using namespace std;

 15: //#define SECTION1 //1
 16: //#define SECTION2 //2

 18: int main()
 19: {
 20:     #ifdef SECTION1
 21:     cout << "\nIf the macro SECTION1 is defined, then this cout "
 22:         "statememt will be included in\nthe source code from this file "
 23:         "to be be compiled. If SECTION1 is not defined,\nthis code will "
 24:         "be ignored when this file is compiled.\n";
 25:     #endif

 27:     #ifdef SECTION2
 28:     cout << "\nIf the macro SECTION2 is defined, then this cout "
 29:         "statememt will be included in\nthe source code from this file "
 30:         "to be be compiled. If SECTION1 is not defined,\nthis code will "
 31:         "be ignored when this file is compiled.\n";
 32:     #endif

 34:     cout << "\nPress Enter to continue ... ";  cin.ignore(80, '\n');
 35: }