[comp.sys.atari.st] What a great C compiler!

rgoodman@cit-vax.UUCP (04/24/87)

I constantly see the question, "I'm buying a C compiler, which do you people
recommend" being asked, but I haven't seen the definitive answer.  Perhaps
there is none.  I only know that I bought Lattice C, and it was a nasty
mistake/lesson that I'd like to avoid again.  I need a good C compiler, and
from the discussion it seems to be down to Megamax and Mark Williams.  So
what are the advantages, or are they both great?  Let me rag on Lattice C so
you know the kind of things that bother me.  Lattice C compiles very slowly.
To compile 12 C programs of about 8K each takes about 6minutes/program.  Then
another 8 minutes to link them together.  Yes, that's almost 1 1/2 hours 
for a complete recompile!  This is with the compiler/linker on a
RamDisk.  Lattice C does not support some VDI/AES commands such as
vrq_* and vsm_*.  If you divide by a constant power of 2 it replaces it
with a shift (>>n) where n is sporatically incorrect!  From what I gather
in the benchmarks (sorry I don't remember exactly, otherwise I might not
be asking for this comparison...oh I never know what things I need to save
from this newsgroup, can't save everything) it compiles C source into unusually
large binaries that run slower than other C's.  What a winning product!  To
be fair, the Lattice C book is nice.

Thanks.

Ron Goodman


-- 
rgoodman@cit-vax.caltech.edu    _______ _________ _________       |
rgoodman@cit-vax.bitnet        /           \#/       \#/          |   Pasadena
rgoodman@cit-vax.uucp         |alifornia    |nstitute |echnology  | California
                               \_______ ___/#\___ of  |           |   U. S. A.

pes@bath63.ux63.bath.ac.uk (Paul Smee) (04/27/87)

Far as speed goes, are you falling into the short/long trap?  Lattice C
takes 'int' to mean 'long int', while a lot of the other compilers take
'int' to mean 'short int'.  My experience is that the times are reasonable
if you're careful to *say* short when you want short.

The divide by shifting bug was documented when I got my release -- not as
nice as being fixed, of course, but...

Far as the rest goes, I just saw version 3.04 at the Atari show in London
over the weekend.  It is supposed to be improved (including much faster
linking), better editor, MAKE included, a 'resource editor' included, ...
They said I could upgrade by old version for 35 pounds by returning my
original disks and registration card.  (Which probably means 35 dollars in
the States.)  When I've got my upgrade, I'll let you know about it, unless
someone more C-proficient does it first...

pes@bath63.ux63.bath.ac.uk (Paul Smee) (04/27/87)

Just remembered, I forgot the most important part (for me, anyway).
Lattice C version 3.04 (now renamed something like Lattice C ST Development
Package, or some such) is also supposed to contain a symbolic debugger.

At last...