Date : Fri, 25 Oct 1985 11:28:09 GMT
From : Mark Mallett <mem%sii.uucp@BRL.ARPA>
Subject: More on MIX C
I also got my MIX C compiler a week or two ago and agree with all the
positive things that have been said about it here. It seems to be
an excellent buy for $39.95 (or $45 with COD)- it comes with a thick
paperback-book manual with C tutorial, reference, and lots of examples
(there are some errors in the examples so the proofreading may not have
been great). The compiler can produce listing files. The linker supports
libraries-- you manipulate a library by converting it to an ASCII form and
editing it! The linker can deal with either the ASCII or binary form (it
appears that the binary form has an awful lot of overhead in it, but no
matter there). Multiple overlay areas are supported, which is nice on
a CPM80 system.
On the negative side:
- the linker seems incredibly picky. If you don't give it the
commands in the right sequence, you can get a fatal error message
or, worse yet, your program simply won't work.
- you can define multiple overlay regions in your program, but
each region is a fixed size and must be big enough for the largest
overlay you are going to put in there. I would much rather see
a hierarchical overlay structure, where overlay boundaries depend
on the definition of the higher-level overlay. But again, for
$40 this is great.
- The minimum program size seems to be about 24K. This is because
the compiler generates intermediate code; an interpreter occupies
the first 20K or so of every program. This interpreter does not
have to be linked with the program, so the file size can be small,
but in this case you have to have the runtime overlay hanging around
on your disc in order to run your programs.
- There is no mechanism for linking assembler programs to the C
programs. There *is* a mechanism for calling assembler programs,
though, if you want to load or initialize code into memory
somewhere, you can call it. Kind of like the Atari notion of
a BASIC-Assembler interface.
- The compiler matches reserved words in either-case mode; you
CAN NOT turn this off. That is, the reserved word "int" can
be given as "int", "Int", "INT", etc. This is the only thing
that I think they did really Wrong.
I bought because I hoped that since it generates intermediate code, it would
compile some large programs to fit into my CPM80 system better. I haven't
proved or disproved this notion yet, but given the horrible code produced
by the Aztec and Ecosoft compilers that I have, I don't doubt that there
is a size threshold above which programs compiled with MIX will be smaller
than with those others. All in all, it seems to be a great buy, especially
if you don't care about speed.
About the MIX editor: I'll restate what I said several months ago. MIX
seems to have done a great job with this too, but (as with the compiler)
they made one thing Wrong: the editor doesn't deal with control characters.
Like formfeeds and tabs!! So for me, the editor is useless. The folks
at MIX say they are going to fix this-- I hope so, because the editor looks
really nice.
Mark Mallett
decvax!sii!mem or ittatc!sii!mem