empec++
EMPEC++(1) EMPEC++(1)
NAME
empec++ - compiles C++ programs invoking the EMPRESS Precompiler
libraries
SYNOPSIS
empec++ [empec++_options] [cc_options] file ...
DESCRIPTION
Empec++ invokes C++ Compiler with the EMPRESS Precompiler libraries.
The file list should include the OUTFILE and SUPPORTFILE generated by
empesql. These have the default names of mpout.c and mpsup.c respec-
tively. Empecc_options are:
-c++_compiler compiler_name Invokes a C++ compiler different than the
default one specified in MSSYS_CCOMPILER
of $EMPRESSPATH/config/options file.
-echoline Print out the contents of the executable
without generating an output file.
-listlines Print out the contents of the executable
in multiple lines without generating an
output file.
-linker filename Use the given filename to do linking and
do not compile.
-noglobmain Use this option if msmain is not used.
Some compiler complains if this option is
not used.
-noshlib [-loadpsmapi] Do not use Empress shared library. If
additional option loadpsmapi is used,
load those extra Empress static libraries
needed for Persistant Stored Modules
(PSM).
-sptrash Trash the memory space when the memory is
free. This option can be used as a tool
to debug memory problem. Empress shared
libraries will not be used if this option
is specified.
-pthread Generates thread-safe code for program
that is written for the multi-threaded
application. This means that Empress rou-
tines can be invoked in a multi-threaded
application. This is done by multiple
threads in parallel; however their execu-
tion is serialized. The net effect is the
same as running in a single threaded
environment.
The effect of an ESQL statement is global
to all threads. For example, the opening
or closing of a table from one thread is
visible to all the threads within a pro-
cess. The multi-threaded application has
the responsibility for using these ESQL
statements in a thread-safe manner, which
is different from whether or not these
ESQL statements are thread-safe. For
example, a multi-threaded application
that closes a table that is still in use
by other threads within the application
is not using the close statement thread-
safely.
In particular, various EXEC SQL sequences
should be protected by user-specified
explicit synchronization constructs if
they are used in multiple threads. These
include transactions: START TRANSACTION,
..., COMMIT/ROLLBACK TRANSACTION and cur-
sor usages: OPEN CURSOR, FETCH, CLOSE
CURSOR.
Various global constructs are specified
in ANSI SQL for returning status/error
information. The global constructs that
are thread-safe are: SQLCODE, SQLCNT,
SQLWARN0. Other global constructs such as
SQLCMD, SQLWARN1, SQLERRMC and mroperr
are not thread-safe.
-spmalloc Use malloc to allocate space instead of
Empress' memory manager. It is useful
when a third-party memory debugger is
used. Usually, it is slower than
Empress' memory manager.
FILES
EMPRESS libraries
SEE ALSO
empesql(1), empcc(1), empef77(1)
Empress Host Language: The SQL Precompiler
DIAGNOSTICS
See cc(1).
HISTORY
Written by Empress Software Inc.. All material is copyrighted and
licensed. Use on non-licensed CPUs is prohibited.
Empress 8.62 Empress Software Inc. EMPEC++(1)