Survey of C Compilers

Brad Templeton brad at looking.UUCP
Fri Jul 18 17:05:11 AEST 1986


I have used several C compilers in my projects and here are the summaries:

1) Microsoft C
	The winner:
		- It comes from a large firm dedicated to languages
		- The only compiler to take my 30,000 line program and have
		  it run essentially right away.
		- Support has been reasonable for me, but I'm a beta tester.
		- One of the two compilers to have compiled a Unix, so you know
		  it is fairly compatible with the Unix compilers.
		- If you dare the use it, the hybrid model support is of
		  tremendous value.  Our system in hybrid model is about 2/3
		  the size of the large model version.  This made the difference
		  in running on a 256K PC or not.
		- Ansi C style argument type checking.
		- Runs under Xenix to Cross compile for DOS
2) Lattice C
	This is one of the best selling and it is well supported.
	The original version was unacceptable.   It lacked things like
	"unsigned int" (you just said unsigned) and structure assignment.
	Not much hope of compiling Unix style programs.

	They have a new release which supposedly fixes these problems and
	brings it up to a similar level with Microsoft C.  I have not played
	with this one.  Supposedly they also have a Xenix version.

	Their compiler is also available for the 68000 but really bad reports
	have come in.

3) Mark Williams C
	This compiler is the other to have compiled a Unix like system, in
	this case Coherent.  Fairly good code quality but:
		It can't handle a function over about 800 lines as the
		optimizer runs out of space.

		Support was not good in that we found several problems
		(like the above) for which there was no good workaround, and
		we were told to wait months for new releases. 

	We gave up on this compiler, although we are using it again on the
	68000.  Support is much better now.

4) QNX C compiler
	This compiler runs only under QNX, but they now have a dos cross
	compiler option.

	QNX is an elegant, very fast OS but it is still young and lacking
	in certain "creature comforts" found under Unix.  Programs here
	are limited to medium model, but this compiler supports an interesting
	convetion that allows fast access to the extra segment of the 8086.

	Non portable (we make all references with macros to avoid trouble) but
	can be even more compact (if harder to use) than the Microsoft hybrid
	schemes.

5) DeSmet C compiler
	Been a while since I used it, but it is inexpensive and fast.  A good
	toy for playing around with.  Back then it only had small model.
	I hear this has changed.

6) Wizard C.
	No personal experience, but friends say it is fairly good.  From too
	small a company if this matters to you, though.



So in the long run, Microsoft C is the winner.  We run it under Xenix which
means that we don't even have to use dos except for testing.  Documentation
of the DOS functions is very poor in the Xenix version, though.
-- 
Brad Templeton, Looking Glass Software Ltd. - Waterloo, Ontario 519/884-7473



More information about the Comp.lang.c mailing list