SQL/MX Programming Manual for C and COBOL (H06.10+, J06.03+)

C/C++ Program Compilation
HP NonStop SQL/MX Programming Manual for C and COBOL544617-003
15-14
Preprocessor Output
Use the preprocessor to embed SQL anywhere in the C/C++ source file. However, the
preprocessor determines in which part of the source file the embedded SQL is located
and issues warnings if an embedded SQL statement is not placed correctly. See
Placement of SQL Statements on page 2-2.
At the end of processing the embedded SQL C/C++ source file, the preprocessor
checks the status of static cursors:
Cursors accessed and not opened return an error message.
Cursors declared and not accessed return a warning message.
Preprocessor Output
C/C++ Annotated Source File for Embedded Module
Definitions
The SQL/MX C/C++ preprocessor processes a C/C++ source file, such as source-
file.sql, and generates one annotated source file (source-file.c in C or
source-file.cpp in C++) as its output file. The annotated source file contains the
embedded module definitions.
C/C++ Annotated Source File for Module Definition Files
If you use the -x or -m preprocessor option or if you set the
SQLMX_PREPROCESSOR_VERSION=800 environment variable, the preprocessor
processes a C/C++ source file, such as source-file.sql, and generates two files:
the annotated source file (source-file.c in C or source-file.cpp in C++) and the
module definition file (source-file.m).
For more information on module management behavior and influencing the
preprocessor, see Module Management Behavior on page 17-7. For recommended
naming conventions for C/C++ source files, see Table 17-1 on page 17-1.
The preprocessor converts embedded SQL statements to C comments, followed by the
appropriate CLI calls.