Path: utzoo!attcan!uunet!aplcen!samsung!cs.utexas.edu!rutgers!cbmvax!daveh From: daveh@cbmvax.commodore.com (Dave Haynie) Newsgroups: comp.sys.amiga.tech Subject: Re: Commercial C/C++ compilers Message-ID: <13082@cbmvax.commodore.com> Date: 6 Jul 90 15:18:18 GMT References: <2796@orbit.cts.com> Reply-To: daveh@cbmvax (Dave Haynie) Organization: Commodore, West Chester, PA Lines: 62 In article <2796@orbit.cts.com> bga@pnet51.orb.mn.org (Bruce Albrecht) writes: >From what I understand, both Aztec and Lattice C are now ANSI compliant, with >SDB. Lattice and Aztec are both claiming to be ANSI compliant. I don't have the new Aztec yet, but Lattice does appear to be ANSI-enough such that I can't tell the difference. >It used to be the case that code for Aztec could be compiled on Lattice, but >the converse was not always true. Is that still the case? There were often cases where some degree of conversion was necessary. Much dependend on the program. For instance, I originally wrote DiskSalv in Lattice 3.03. When I got the Manx compiler, I easily converted it over (so I could use SDB). When I got Lattice 5.0, I converted a much different DiskSalv back in a couple of hours, with all the ANSIfication included. On the other hand, I have never been able to get SetCPU to run under Lattice (though I never considered it worth more than a few hours of work to even try). With the new versions, you still have to say "maybe". If you write a pure ANSI program in Lattice, it should compile directly in Manx. However, Lattice has some non-ANSI functions in its libraries, along with the ANSI functions. Manx probably does too. So there's one point where you may need some conversion. Non-standard things like chip memory storage classes may differ too. The ANSI committee produced rules for dealing with this kind of thing, but there's no requirement that two different companies would necessarily do these kinds of things the same exact way. In any case, they should be far more interchangable than Lattice 3.03 was with Manx 3.6a... >Is the Lattice C++ compiler based on C++ ver. 1, or C++ ver.2? As I recall, the Lattice V1.00 cfront was based on AT&T cfront 1.1a. >Can you compile any ANSI C program if you have the C++ compiler, or do you >really need C and C++? No. C++ came before ANSI C. While many of the ideas in C++ were adopted by C, such as the new function parameter declarations, there are still very likely some differences. >What are the relative speeds for the Aztec C, Lattice C, and Lattice C++? Like I said, I don't have the new compiler, but the time based on the ones I've used go on this timeline: -+------------+--------+---------+-----------+----------------+---------+- | | | | | | | A Sneeze Manx Lattice A Trip to Lattice Lattice Out for 3.6a 5.0 the Coffee 3.03 C++ 1.0 a cold Machine Beer One of the strengths of both the Lattice 5.0 and the Manx 3.6a is that they can be made resident (Lattice in the traditional 1.3 "resident" fashion, Manx via the clever "rez" utility). >UUCP: {amdahl!bungia, uunet!rosevax, crash}!orbit!pnet51!bga -- Dave Haynie Commodore-Amiga (Amiga 3000) "The Crew That Never Rests" {uunet|pyramid|rutgers}!cbmvax!daveh PLINK: hazy BIX: hazy "I have been given the freedom to do as I see fit" -REM