CompuServe Messages

C Compilers

#: 16385 S7/ProgrammingForum unknown
    27-Apr-86 01:28:50
Sb: #16369-C Compilers
Fm: Rick Schaeffer 70120,174
To: Ed Silva 70507,134

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