Lattice C Version 3.04

Reviewed by Matthew Jones


Issue 30

Nov/Dec 87

Next Article >>

<< Prev Article



Metacomco £99.95

Some time ago I reviewed the Lattice C compiler but Metacomco have now released a new version which is a major revision, including many more features. As a regular user of the compiler, I was very pleased to receive the new version as it has many new and very powerful facilities.

The manual is now a massive 3cm thick, with about 700 pages. It covers all the new features starting with general information about using the compiler, the language definition and the way it uses the computer, the compiler options, and how to use each of the new utility programs – Debug +, Ed, Krsc, Link, Make and Menu + . The complete C system library is covered together with GEM library functions and there is a bibliography, error messages, recent changes, example programs and finally customer support.

The three disks supplied provide a complete C programming environment. Two automating systems are provided: Menu + which is suited to development of single source file programs (lots of them), the latest version of which solves minor problems that have been found as well as adding more functionality (like a program path) and Make which is the only sane way of managing a multiple source file program – again it has been improved.

A new GEM version of ED uses all the old keystrokes of the text mode version, but allows editing of four files simultaneously – generally a great improvement. It does have some problems however, like the inability to copy a block from one buffer to another – you have to write it to disk then read it back. The compiler has more facilities to improve it, and it now supports the proposed ANSI standard 'void' and 'enum' types, argument type checking, and complete structure passing (call by value).

Krsc is a GEM resource editor, written by Kuma, as reviewed by myself in a previous issue. As I said then, Krsc is a very capable program. Link is the linker from GST, as supplied in the previous version.

Debug + is totally new. It is a symbolic machine level debugger. It has definable macros, which allow you to perform complex interrogations of your data, and the best thing of all is the 'backtrace' macro which allows you to wait for your program to bomb, and then find out the sequence of calls and parameters which caused it. I cannot give a complete description, but if you are stuck with SID, buy this – it's invaluable.

Over half the manual is used to describe the library functions. All sorts of really useful functions have been added, which I became jealous of on the IBM PC, and now have full access to on the ST. New functions include: qsort() – sorts any size array, getfnl() –gets filename list (reads a directory in one go), time(), fopene() – open a file with environment search, getdfs() – get disk free space, getft() – get a file's time. Many of these can be done yourself with Gemdos calls, but isn't it nice to have it done for you? There are many more – about 340 functions altogether.

Also included on disk is the source for the startup code so that you can customise it. The libraries are provided in two forms, one for GST Link, and one for Link68 – the rival linker (not supplied).

If you don't already have a C compiler, then you cannot get better value for money than Lattice C version 3.04. If you already have Lattice C, then you can upgrade for a reduced fee to a much improved package. If you already have a compiler, and are looking to a more capable compiler then look at Lattice. Note that while Lattice C is not the fastest to compile, it does produce code that is generally very fast. Personally, I have found it very reliable, and the support is good.

Overall, Metacomco have produced a very professional system.