Bruce's C Compiler
==================

* Introducton
* Porting Notes

Introduction
============

Bruce's C compiler sits somewhere between Desmet-C and DJGPP.

- not currently maintained
- scant documentation.  Read the source, Luke.
+ cross-compile 16-bit DOS executables from Linux.
+ more complete C library than Desmet-C.
+ much smaller than DJGPP or Watcom.

Supported memory models:

* small .exe 64k code + 64k data

<gopher://gopherpedia.com/0/X86_memory_models>

Porting Notes
=============

* The -ansi option can be helpful.

* If possible, compile and test the software with DJGPP first.

DJGPP does a better job of producing useful errors, both at compile and
run time.  This can save a lot of work.

* Beware of long arguments.  fseek is a good example:

FAIL: fseek(fp, 0, SEEK_END);  /* always returns an error */
PASS: fseek(fp, 0L, SEEK_END); /* ahh, much better */

Apparently without the L the high bits are random instead of zero,
resulting in absurdly large file offsets.  I am lucky it didn't cause
FAT corruption.  :-)