I recently found out about another C compiler. Peter Tillier send me a copy (legal, of course) of a C compiler by GST. Peter says that the compiler is now available from Quanta for about 15 pounds.
The compiler seems to be a cross between Small-C and Metacomco QL C. Like Small-C, it supports a subset of the C language, but it supports more than Small-C. Like QL C, it has a compiler, a assembler, and linker. It even uses a link setup file like QL C. And, like C68, even though it has a number of programs to do a full compile, it has a front end to drive the whole process.
In short, QC is based on K&R C and supports:
- switch, for, do, goto statements
- logical operators && || unary operators ! ~
- comma expressions assignment operators
- long / short integers unsigned values
- initialised local variables static and extern
- single dimension arrays pointers
The preprocessor supports the standard commands, but also supports the inclusion of assembly code. There is a section in the manual that describes how the compiler uses the various 68000 registers.
The standard C function library is supported with more functions that Small-C. QDOS support is complete, although different than some of the other compilers. It does support trap1, trap2 and trap3 (usefull for doing your own tinkering with QDOS).
The manual is fairly complete. It does not give much example code, but it documents the compiler fairly well. The error messages are fully listed and there is even an index.
The compiler fits in between Small-C and QL C (with C68 being far above all C compilers). If you are used to working with Small-C, then QC is a step up in what parts of C are supported. QC provides a greater ability to help in porting than Small-C. QC is not as complicated to use as C68 can be. Sometimes I find the full capability of C68 kind of daunting.
I have not had to really use QC, but from what I can see, I kind of like it. I’m sure I’ll always like Small-C, but in those areas that Small-C does not cut it, QC would be a good compiler to use.