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
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