Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/18/84; site looking.UUCP Path: utzoo!watmath!looking!brad From: brad@looking.UUCP (Brad Templeton) Newsgroups: net.micro.pc,net.lang.c Subject: Re: Survey of C Compilers Message-ID: <613@looking.UUCP> Date: Fri, 18-Jul-86 03:05:11 EDT Article-I.D.: looking.613 Posted: Fri Jul 18 03:05:11 1986 Date-Received: Fri, 18-Jul-86 06:19:43 EDT References: <7975@duke.duke.UUCP> Reply-To: brad@looking.UUCP (Brad Templeton) Organization: Looking Glass Software Ltd. Waterloo, Ontario Lines: 72 Xref: watmath net.micro.pc:9223 net.lang.c:9956 Summary: 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