How about C++?

Date: 17-Jun-91
X-Contributor: Diane Lask <72357.3574@compuserve.com>

Any C++ function which interfaces to your CA-Clipper code must be
declared consistently as

extern "C" CLIPPER func (void)

This is an ANSI linkage specifier which turns off "name mangling."
One disadvantage is that if a function name is overloaded of course
you may only access one instance of that function name from your
CA-Clipper code. (Otherwise how could CA-Clipper tell them apart?)

If your C++ code must call Extend API functions, then you should
edit your copy of EXTEND.H or EXTEND.API to bracket all the
function declarations with the following code:

#ifdef __cplusplus
extern "C" {
#endif

/* Existing function declarations here. */

#ifdef __cplusplus
}
#endif

C++ code which is not called directly from your CA-Clipper
application can be safely left "mangled." For Borland C++ users,
the normal prohibitions on use of floating point math remain.