Use Conditional Compilation for Debugging J++ 6.0 Applications

Use Conditional Compilation for Debugging J++ 6.0 Applications

The J++ 6.0 includes the ability to do conditional compilation, a mechanism for debugging code. J++’s conditional compilation allows you to include or exclude entire blocks of code at run time using the conditional directives #if, #else, #endif, #define, and #undef. Here’s an example of how conditional directives work:

 #define DEBUG#if DEBUG   System.out.println("We have a problem");#else   System.out.println("All's well");#endif

The #define statement sets the identifier DEBUG (put any name) to true. That would cause the statement within the #if block to execute. Simply removing the #define statement, or changing it to #undef DEBUG, will cause the #else block to execute. Here are a few examples of why it’s important:

  • Include diagnostic code during development, and then exclude it all at run time by simply removing the one #define statement.
  • Exclude code that you think you may want to include again at a later date.
  • Switch among several code sections to experiment with different implementations by #define-ing different identifiers.

You can also use expressions with the #if and #else directives, just as you can with the standard Java if/else structure.


Share the Post: