My copy of the manual for DeSmet C version 2.40 is in an 8" x 11" black three-ring binder. I know exactly what it looks like. It know exactly where it should be.

Of course, now that I'm setting up this website, I can't find it anywhere.

If you need the manual, check out the Version 2.51 manual. It's pretty close, and should give you everything you need.

There is one note about version 2.40, however -- a "DeSmet-ism" is that, in this version, the names of the elements of structures and unions must be globally unique symbols. i.e. the two structures:

struct { int a; int b; } c;
struct { int d; int a; } e;
main() { c.a = 1; }
will cause a compile error (error:conflicting member type or offset).

Note that, if the second structure is changed to:

struct { int a; int d; } e;
you will not get an error, because both defintions of 'a' have the same type and same offset in the structures.

Remnants of this limitation will persist through version 3.03 of the compiler, and are even used in the LIB88 program, as an example:

union { int word; char byte; };
char *inin;
will allow references like
i = inin->word;
to reference 16-bit data via a pointer to 8-bit data without explicit typecasting.

Version 2.40 came on two floppies (that I have, if you have other floppies in the 2.40 distribution please contact me):

Disk 1 which contains the compiler
the compiler (C88.EXE, GEN.EXE)
assembler (ASM88.EXE)
linker (BIND.EXE)
librarian (LIB88.EXE)
debugger (D88.EXE)
editor (SEE.EXE)
standard headers (STDIO.H, MATH.H)
libraries (CSTDIO.S, CSTDIO7.S, EXEC.O)
Disk 2 which contains additional programs
the profiler (PROF*.EXE)
some utilities (RAM.COM, BUF128.*, DUMP.* LATER.C, CB.C, CLIST.EXE, COMPARE.*)
some games (BUGS!, LIFE)
Note the D88 and SEE .O files -- back in the early "not everything was a PC-compatible computer" days, they allowed you to customize the screen I/O of the debugger and editor for your system.

Back to main page



These pages last modified 7/22/2005

[an error occurred while processing this directive]