Define and undefine definitions while preprocessing
You can use the -ED and -EU options to create
or remove definitions during IBM®
Informix® ESQL/C preprocessing.
To create a global definition, use one of the following
forms of the -ED option:
Use the -EDname syntax to define a Boolean
symbol, as follows:
esql -EDENABLE_CODE define_ex.ec
Use the -EDname=value syntax
to define an integer constant, as follows:
esql -EDMAXLENGTH=10 demo1.ec
The -EDname is equivalent to
the define preprocessor directive ($define or EXEC SQL define)
with name at the top of your Informix
ESQL/C program.
To
remove or undefine a definition globally for the entire source file,
use the following syntax for the -EU option:
-EUname
The -EU option
has a global effect over the whole file, regardless of other define directives
for name.
Restriction: Do not put
a space between ED or EU and the symbol name.
As
with the define and undef statements, the Informix
ESQL/C preprocessor
processes the -ED and -EU options in stage 1 of preprocessing (before
it preprocesses the code in your source file).
The following figure shows a code fragment that uses conditional
compilation (the ifdef and ifndef directives). Figure 1. ESQL/C excerpt that uses ifdef, ifndef,
and endif
For the code fragment shown in Figure 1, the following esql command
line does not generate code because the command line undefines the
ENABLE_CODE definition for the entire source file: