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.