olson@rochester.UUCP (Thomas J. Olson) (08/01/85)
Finally going to break down & shell out some substantial bucks for a C compiler. Lattice and Microsoft look like the best bets in my price range. I understand that they are somewhat related. Can anyone advise me on differences? quality of support? Anyone have strong prejudices for or against either of these? Thanks in advance, Tom Olson
slerner@sesame.UUCP (Simcha-Yitzchak Lerner) (08/02/85)
> > Finally going to break down & shell out some substantial bucks for a > C compiler. Lattice and Microsoft look like the best bets in my price > range. I understand that they are somewhat related. > Can anyone advise me on differences? quality of support? Anyone have > strong prejudices for or against either of these? > Thanks in advance, > Tom Olson Up until the most recent rel (v3.0), microsoft C was a hack of lattice C. This is no longer the case. For whatever it's worth, Lotus evaluated the new microsoft C (vs latest lattice C) and is decided that the microsoft C (again, ver 3.0) is so much better than Latice that it is worth the trouble to convert all of their sources. It seems that the microsoft generates smaller, faster code, has better source file checking (you don't need a lint if you set proper option). Other big advantages, microsoft supports register variables (up to 2), and allows explicit far/near decarations on variables/functions to override the default of current memory model. (In other words, you could build a pgm in small memory model, with a few huge structures/ arrays being addressed with long pointers.) Microsoft seems to have better support of different processors (if you know you will have a 80186 or '286 you can tell the compiler to take advantage). Floating point is very versitile, can be std (use '87 if present, else emulate), '87 required, fast emulator (less acurate), inline emulator, or inline '87. (If I am a little off describing this, please no flames. The microsoft product comes with 2 BIG 3-ring binders full of documentation, and I don't have it all memorized yet :-) ) Also, there seems to still be more bugs in the code generated by latice (they still play with SP/BP before SS -- leaving a period of vulnerability if an interupt should occure) than the microsoft product. Microsoft allows a few different types of optimizations, for size, for speed, aliasing... This could go on forever, so in summary: My recomendation is to go with Microsoft. -- Opinions expressed are public domain, and do not belong to Lotus Development Corp. ---------------------------------------------------------------- Simcha-Yitzchak Lerner {genrad|ihnp4|ima}!wjh12!talcott!sesame!slerner {cbosgd|harvard}!talcott!sesame!slerner slerner%sesame@harvard.ARPA
grayson@uiucuxc.Uiuc.ARPA (08/04/85)
I have not used the Lattice C compiler, but the Microsoft version 3.00 is very good. I've had it crash ignobly three times, but was able to get around the problem by rearranging the code. The subroutine library is remarkably complete and vax-unix-like. It does not have huge memory model support, i.e. arrays are < 64K. Int's are 16 bit, so malloc max is 64K, too. It is not necessary for the programmer to remember at link time the memory model used at compile time! uucp: {ihnp4,pur-ee}!uiucdcs!uiucuxc!grayson Dan Grayson, Math Dept, Univ of Ill, Urbana 61801
peter@kitty.UUCP (Peter DaSilva) (08/06/85)
I use Lattice C. It's slower than the Ritchie compiler (the old UNIX compiler), but is otherwise good. It is EXTREMELY compatible with Ritchie, and supports a good percentage of the UNIX library. The Microsoft compiler used to be identical with the Lattice compiler, but they now have a new version. I would wait 6 months for them to finish shaking the bugs out of it. If you need it now, go for Lattice.