Can you combine Borland C/C++ or Turbo C/C++ code with your
CA-Clipper applications?
Yes, if you follow these guidelines:
1. Use large model only (the -ml command-line compiler switch).
2. Use no floating point operations, and disable them with
the -f- switch.
3. Use no Borland library functions; you may use standard C
functions if they are found in CLIPPER.LIB or LLIBCE.LIB.
4. You may leave register variables on and/or optimize
for registers/jumps/speed.
5. You may use the -v switch to include debugging information
in your object code for Turbo Debugger.
6. Turn stack checking off.
7. If you use inline assembly, push DS before doing anything
and pop it when done, unless you are SURE your code doesn't
do anything to affect DS.
One workable set of switches seems to be:
-c -f- -ml -N-
These switches work, delivering optimized C code:
-c -f- -ml -N- -Z -O -G -w
# Ed Boggan (72701,1720) Section 4 #158250 22-Aug-91
# Carl Nelson (70363,1027) Section 2 #172091 29-Oct-91
# Nick Pombra (71477,2077) Section 4 #156089 12-Aug-91
# Alex Matijaca (73657,3171) Section 2 #152148 24-Jul-91
# Mark Zurier (71240,1222) Section 4 #294108 2-Feb-93