Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/5/84; site apr.UUCP Path: utzoo!watmath!clyde!cbosgd!osu-eddie!apr!dag From: dag@apr.UUCP (Daniel A. Glasser) Newsgroups: net.micro.atari16 Subject: Re: Program Development on the ST Message-ID: <141@apr.UUCP> Date: Mon, 10-Mar-86 22:33:23 EST Article-I.D.: apr.141 Posted: Mon Mar 10 22:33:23 1986 Date-Received: Wed, 12-Mar-86 06:19:23 EST References: <2018@uwmacc.UUCP> Reply-To: dag@apr.UUCP (Daniel A. Glasser) Distribution: net Organization: Advanced Programming Resources, Columbus OH Lines: 89 Keywords: Lattice-C ST-development Summary: Lattice-C is now AVAILABLE I've purchased and am now using the Lattice-C compiler for the ST... What follows is a brief review: Product: Lattice-C compiler Developer: MetaComCo plc 26 Portland Square Bristol, BS2 8RZ England 5353 Scotts Valley Dr. Scotts Valley, CA 95060 List Price: $149.00 Included: Compiler (Two files -- Seperate passes) (Brief) Driver Program (Short-hand, runs the two passes together) Editor -- screen with command mode Linker (GST) C Library (Both GST and LINK68 formats) GEM interface library (Both GST and LINK68 formats) GEM interface library source (MetaComCo Macro Assembler format) Manual -- Paperback (270 or so pages) 3.5" SS/DD Disk Bookshelf case Warranty/Registration card Compiler: The compiler is a fairly complete implementation including bitfields, floating point, unsigned char, and the like. Preprocessor is a little limited (No good expression processing using defined symbols in #if lines.) The code generated seems to run quite well, but the linked program is slightly larger than the same code compiled with the Alcyon (DRI) C compiler and the library supplied with the toolkit. For MicroEmacs (my version) the difference is about 3K (36000bytes vs 33000bytes), but the library with Lattice C seems to be more robust. The compiler has options to generate DRI format files, to specify A6 or A5 for frame pointers, and position-independent code. Library: Not the fullest library, but adequate. The memory allocation routines have a weirdness about them -- By default, the program snarfs up all but 4K of the available space on the system, but you can specify, either at compile/link or run time, just how much space you want available for malloc. This is not bad if you don't want to execute child processes or are not going to use an undetermined amount of dynamic memory -- This switch would be nice if you could specify how much memory to leave available to the system rather than requiring you to specify the amount of pool to allocate. Anyway -- There is no realloc(), getenv(), or access to the "Line A" interface. There are extensive, and useful, string functions including pattern search. The GEM library is complete, so far as I can tell. The libraries are provided in both GST and DRI format. Source for the GEM interface library is included. Linker: Does what it says. This is the GST linker. Uses command files which are easy to understand. Well documented. Produces link map files (can be supressed.) Allows definition of globals at link time including simple arithmetic using globals from object modules. Reasonably fast. Documents: Clear, concise and well layed out. Seems to be hastily put together, though, lacking good examples. Appendix D, the function index, is from the MS-DOS Version for the 8086. Would be more convenient in loose-leaf form. Summary: For the price (I got it for about $105.00) this seems to be a good choice. It compiles faster and produces more robust code than the Alcyon compiler. If you intend to use GEM from a program, a GEM programmers manual would be useful. Disclaimer: Other than being a customer, I've no association with ATARI, MetaComCo, Digital Research, or anybody else with any clout. Everything is a registered trademark of someone or another -- Don't blame me -- I didn't do it, I just look guilty. -- Daniel Glasser (One of those things that goes "BUMP (Ouch!)" in the night.) Path: ...!cbosgd!apr!dag ( Daniel Glasser at APR -- Formerly at DEC ...!decvax!sultan!dag )