X++ provides several precompiler directives that you can use. The directives are processed before the resulting X++ code is given to the X++ compiler. These directives declare and handle macros and their values. The directives are removed by the precompiler so that the X++ compiler never encounters them. The X++ compiler only sees the sequence of characters written into the X++ code by the directives.