The C preprocessor and compiler

The esql command does not itself compile and link the Informix® ESQL/C program. The esql command translates Informix® ESQL/C code to C code and then calls the C compiler to compile and link the C code. The C preprocessor preprocesses the C language preprocessing directives. The C compiler performs the compilation, and it also calls a link editor to link the C object files.

Your Informix® ESQL/C source file contains commands for the C preprocessor (directives of the form #directive). When you use the default order of compilation, these C directives have no effect on Informix® ESQL/C statements but take effect in the usual way when the C compiler processes the source file.

If you choose to run the C preprocessor on the Informix® ESQL/C source file before the Informix® ESQL/C preprocessor, you can use the C language #define and typedef directives to define Informix® ESQL/C host variables.

The C compiler takes the following actions:
  • Compiles the C language statements to object code
  • Links to Informix® ESQL/C libraries and any other files or libraries you specify
  • Creates an executable file

If you use a compiler other than the local C compiler by setting the INFORMIXC environment variable to a non-default value, you might need to override the default options of that compiler.