Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!uwvax!uwmacc!oyster From: oyster@uwmacc.UUCP (Vicarious Oyster) Newsgroups: comp.sys.atari.st Subject: Re: C Compilers Message-ID: <691@uwmacc.UUCP> Date: Tue, 16-Dec-86 18:05:03 EST Article-I.D.: uwmacc.691 Posted: Tue Dec 16 18:05:03 1986 Date-Received: Thu, 18-Dec-86 01:41:57 EST References: <861216-121152-4199@Xerox> Reply-To: oyster@unix.macc.wisc.edu.UUCP (Vicarious Oyster) Organization: UW-Madison Academic Computer Center Lines: 58 In article <861216-121152-4199@Xerox> Bicer.ES@Xerox.COM writes: >I need a C compiler which is: >1- Usable with 1 single sided drive 520 ST. >2- Fast in compilation. > >The following points are not absolutely necessary but would be nice: >3- Full K&R. >4- Gem Access and be able to write desk accessories. >5- Assebler support. > >Currently I am looking into these compilers: >- Lattice (is it usable with 1 drive, and how fast are compilations?) Lattice is not extremely fast, but as with all disk-bound programs, speed can be enhanced through the judicious use of a RAMdisk. My typical compile-link time, using a physical disk for the source file, the object file, and the executable file, is ~1.5 minutes. It can be used with a single-drive system with a bit of one-time adjusting (I currently have 2 drives; when I had only one drive, I had 1MB of RAM, so I may not be accurately describing your situation). As far as I can discern, it is a good K&R implementation. The current version has a couple known bugs, one of which seems especially obnoxious, but I've never personally run into it (something about not generating the correct shift instruction for division by a constant multiple of 2). It has a full GEM library, but the documentation is scarce-- in fact, they provide the assembler source code for the routines (which is good), and tell you to look at the source for complete decriptions (which is not so good). I'm not sure about writing desk accessories. With other C's, you have to link with a different startup module, and they only provide one with Lattice (if anybody has some DA C code sitting around, I could try to get it running with Lattice). I'm not sure if you can imbed assembly code in-line, but Metacomco (the Lattice people) sell a decent assembler. Also, the linker does provide for linking "the other" type of object modules. I have written some reasonably short GEM and non-GEM programs, and I have not had trouble with either flavor. ======================================================================== Somebody else mentioned the Sybex Gem book, saying it fully described GEM. Well, it's a very good book, and I too recommend it; however, there are things it simply doesn't describe (I can't remember offhand, but one of them had to do with the ICON data type. Of course, at the time, I wanted to know about those few things...). Otherwise, it describes GEM in a very understandable way, with plenty of examples, including a full-blown major application. I used it and the Pro*GEM documentation exclusively to puzzle out all the fun GEM features, and that included initializing the data structures by hand, since I have no resource construction set. (My first project was to have been a small RCS that I could use to bootstrap a full-scale RCS, but I started going back to school, as well as learning electronics and computer repair, as well as working nearly full time, while keeping my social calendar full, and... well, I've got a functional spec done! I'm currently investigating all the little pieces of GEM, with an eye towards the RCS, but it's going v e r y s l o w ly.) -- - Joel Plutchak uucp: {allegra,ihnp4,seismo}!uwvax!uwmacc!oyster ARPA: oyster@unix.macc.wisc.edu