Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: utzoo!mnetor!seismo!brl-adm!rutgers!mit-eddie!genrad!decvax!ittatc!dcdwest!sdcsvax!jack!man!sdsu!dlong
From: dlong@sdsu.UUCP (AI Humanoid Unit)
Newsgroups: comp.sys.ibm.pc
Subject: Re: MS/PC-DOS C compilers...
Message-ID: <2508@sdsu.UUCP>
Date: Thu, 1-Jan-87 02:33:58 EST
Article-I.D.: sdsu.2508
Posted: Thu Jan  1 02:33:58 1987
Date-Received: Thu, 1-Jan-87 22:22:42 EST
References: <976@ukecc.uky.csnet>
Reply-To: dlong@sdsu.UUCP (AI Humanoid Unit)
Organization: San Diego State University, Math/Sciences Dept.
Lines: 46
Keywords: C, compilers, IBM-PC

I've got MIX C.  I wouldn't recommend it.  I bought the very first
version (1.0).  There were many bugs.  The code is slow.  I compared
code from MIX on my Leading Edge to the same code on a Z-80
machine running Aztec C.  Aztec on the Z-80 was twice as fast.  And
that was after "speeding up" the MIX version with a separate program,
which BTW almost doubles the size of the code.  Also interesting was
that Turbo Pascal blew them both away.
Libraries in MIX are uncompatitble with any others.
Code and Data can only reach 64K.
Ver. 1.0 said the linker had overlays, but it wasn't supported.
Some of the problems have been fixed in the new release.  I haven't
played with my update much, though.

Some good points:

- Has many BIOS/DOS call functions
  - direct I/O
  - cursor movement
  - text attributes
- Has library of string function.  The kind of strings where
  the length is stored stored at the beginning, like Turbo Pascal.
  I haven't used them, but looked like more than you'd need.
- Has source for most of the libaries (Except for the stuff they
  obviously had to write in assembler, like BIOS stuff).  The
  only problem is, if the functions with no source are wrong,
  you are out of luck.  One of them was indeed wrong in V1.0
  But there is a way that you can compile and include your
  own programs in the standard library.

More bad points:

- The libaries are stored in some kind of encrypted/pseudo/whatever.
  Anyway, you can't look at it with DEBUG and tell it is 8088 assembler.

- Requires a runtime library.  Make the minimum size of a file pretty
  big.  ( I think about 10K ).

- I don't recall an easy way to address memory outside of current
  Data Segment.

Overall, a slow compiler.  But at least it was only about $50.
I honestly wish I had Aztec C or something better.
-- 
Dean Long
San Diego State Univ.
sdcsvax!sdsu!dlong