In version
1.3x, the preprocessor directives start with
a (
#) sharp character, to be compliant with standard preprocessors
(like
cpp). This caused too many conflicts with standard
language comments that use the same character:
#include "myheader.4gl"
# This is a comment
In version
2.0x, the preprocessor directives start with
an ampersand character (&):
&include "myheader.4gl"
FUNCTION debug( msg )
DEFINE msg STRING
&ifdef DEBUG
DISPLAY msg
&endif
END FUNCTION
The preprocessor is now integrated in the compiler, to achieve
faster compilation.
Important: To simplify the migration, the # sharp character
is still supported when using the -p fglpp option of compiler. However,
you should review your source code and use the & character instead;
# sharp will be desupported in a future version.