C Compilers
This message turned up in search, but its forum couldn’t be identified from the original transcript, so it may not be linked into its thread.
Eduardo, the Aztec compiler does indeed have all the libraries, include
files, etc. that you need to do developement. I mentioned that it cannot be
used to develop print drivers…although they are supposed to fix that
problem in the next release. As to the benchmark you mentioned, it is much
too simple…both compilers would certainly generate nearly identical code.
Where Aztec really picks up it's gain is in it's linker…which has much
finer granularity than Alink.
In pointer handling and floating point calculations Aztec seems to generate
significantly faster code. In a pure integer benchmark such as you suggest,
Aztec would surely be faster because it uses 16 bit integers where Lattice
uses 32 bit integers…but it wouldn't be 5 times faster! In COMPILE time
and LINK time, Aztec *is* 5 times faster. In floating point, Aztec was
actually almost 10 times faster due to it's use of the Motorola Fast Floating
Point Library.
As to compatibility with Lattice, I've had very few problems in that area.
Most programs just compile and run…but you do have to watch out for
integer/pointer puns. Lattice uses 32 bit integers and 32 bit pointers so
it's possible to get away with not declaring a function as returning a
pointer. Aztec's default mode is 16 bit integers and 32 bit pointers… which
can cause problems if you haven't declared properly.
All Amiga library functions expect 32 bit integers, too, so you have to be
careful to pass Aztec Longs sometimes. Aztec does have a compile time option
to generate 32 bit ints…which takes care of the above problems but slightly
enlarges and slows your program. I usually get 'em running using the 32 bit
option…and then convert to 16 bits for speed. Rick Schaeffer