Conditional compilation allows you to determine which portions of your code will be compiled and which will not be compiled, based on the definition of symbols in the Project property page. This is useful, for example, when portions of your code are for debugging purposes, and you would like to regulate whether the debugging code is compiled or not.
You define symbols in the Project tab of the Project Properties page:

Defines should always begin with an underscore -- for example, _DEBUG. Multiple defines can be delimited by spaces or commas.
In your code, you test for defines using the #ifdef, #else , and #endif statements:
#ifdef symbol ! for example, _DEBUG
! Statements to parse if the symbol exists.
#else
! Statements to parse if the symbol does not exist.
#endif
A pre-defined symbol ATEASY5 is available for ATEasy 5.0 only code.
#ifdef ATEASY5
! Statements to be processed if ATEasy 5.0 is running
#else
! Statements to be processed if ATEasy 5.0 is not running
#endif