*BSD News Article 81955


Return to BSD News archive

Path: euryale.cc.adfa.oz.au!newshost.carno.net.au!harbinger.cc.monash.edu.au!news.mel.connect.com.au!munnari.OZ.AU!news.ecn.uoknor.edu!feed1.news.erols.com!howland.erols.net!news.sprintlink.net!news-stk-200.sprintlink.net!news.sprintlink.net!news-pull.sprintlink.net!news.sprintlink.net!news-ana-24.sprintlink.net!news.gate.net!nntp.seflin.lib.fl.us!z007400b
From: z007400b@bcfreenet.seflin.lib.fl.us (Ralph Silverman)
Newsgroups: comp.lang.c,comp.lang.c++,comp.os.msdos.programmer,comp.lang.asm.x86,comp.unix.bsd
Subject: Re: Small (tiny) C compiler (286 / 8086)
Date: 31 Oct 1996 15:49:29 GMT
Organization: SEFLIN Free-Net - Broward
Lines: 92
Message-ID: <55ahq9$ju@nntp.seflin.lib.fl.us>
References: <32640327.6201@CS.ColoState.edu> <3264BF93.76CA@ran.es> <01bbbb6c$30bee6e0$8ce29ca1@optika2.scana.com> <32663435.68D6@ran.es> <546aqq$3gh@nz12.rz.uni-karlsruhe.de> <548n6u$4va@nntp.seflin.lib.fl.us> <54hfff$4l0@news.istar.ca>
NNTP-Posting-Host: bcfreenet.seflin.lib.fl.us
X-Newsreader: TIN [version 1.2 PL2]
Xref: euryale.cc.adfa.oz.au comp.lang.c:169248 comp.lang.c++:195529 comp.os.msdos.programmer:70992 comp.lang.asm.x86:26989 comp.unix.bsd:16844

Dave Dunfield (dave@dunfield.com) wrote:

: : I'm looking for an *extremely* small C compiler for DOS / 286 (or
: : 8086).  I'd like to put it on my HP95LX, which only has 1MB of ram (for
: : both system memory and storage space).

: >: >> Micro-C for the PC is also a good free, fast small C compiler.  It can be
: >: >> D/L'ed from www.dunfield.com
: >: >
: >: >But Micro-C has a lot of things missing from the language...
: >: >
: >: >PCC is much better.

: My inet connection has been down for the past few days, so I've missed most of
: this thread, however I'd just like to jump in and make a few points:

: Micro-C is a subset compiler, however it also offers many features that PCC does
: not, it includes some ANSI features not found in PCC, and has a *MUCH* more
: extensive llibrary for the PC. This includes TSR support, windowing, "real"
: serial I/O and much more...

: The best way to see Micro-C's capabilities, is to compile some of the more
: complex of the 80+ example program that I include with the DOS version.

: The PC version of Micro-C is available free from my web page, which I hope to
: have up and running again very soon.... The compiler itself is located in
: MC314PC1.ZIP, and the example programs are in the file MC314PC2.ZIP,
: you will also need ARROWASM.ZIP and VAL.ZIP if you do not already have
: a MASM/TASM compatible assembler and linker. This package works very well
: on the HC95LX.

: For the record, here is the list of supported features in the compiler itself,
: there are also more than 180 library functions (too numerous to list here):

: Q: Is MICRO-C a full ANSI compiler?

: No, MICRO-C is a "near ANSI" subset compiler. It does however, support
: more of the 'C' language than most other subset compilers, including:
:   - All 'C' statements:
:     if/else     while   do/while    for     break   continue
:     return      goto    switch/case/default {}      ;       asm
:   - All 'C' operators:
:     +  -  *  /  %  &  |  ^  <<  >>  >  <  == ~ ++ -- ?: , . ->
:     += -= *= /= %= &= |= ^= <<= >>= >= <= != ! () [] sizeof
:   - The following data types:
:     int     char    unsigned    (including: unsigned char)
:     struct  union   extern  static  register   void
:     *(pointer to any type, incl. pointers and structs)
:     - Arrays of any type (incl. multi-dimension, pointers & structs)
:     - Function can return any type
:     - Typecast of values to other types
:   - Decimal, Octal and Hex constants. eg: 127, 0177, 0x7f
:   - Full support for strings and character constants: ('' "")
:     Including: \n \r \t \b \f \177(Octal) \x7F(Hex)
:     (16 bit character constants are supported. eg: 'ab')
:   - Inline assembly code (single or multi statement).
:   - Preprocessor commands:
:     #define     (fully parameterized & multi-line)
:     #undef
:     #forget     (multi undef -similar to FORTH forget)
:     #error
:     #include
:     #if/#ifdef/#ifndef/#else/#endif (fully nested)
:     #file       (sets filename displayed in error messages)
:   - It DOES NOT support:
:     Typedef, Long* / Double / Float / Enumerated data types, Bit fields.
:   * 32 bit "long" number math functions are provided in the library.
:     These may be easily adjusted to manipulate even larger numbers.
:     (8051 Compiler also includes a floating point library)

: Regards,

: -----------------------------------------------------------------------
: Dave Dunfield (dave@dunfield.com)     Embedded system development tools
: Dunfield Development Systems  Box 31044  Nepean Ontario Canada  K2B 8S8
: http://www.dunfield.com info@dunfield.com Fax:613-256-5821 BBS:256-6289


--
***************begin r.s. response***************

	dave dunfield
	is a highly respected,
	senior practitioner in
	low-level and small system
	programming
	and programming development systems...

***************end r.s. response*****************
Ralph Silverman
z007400b@bcfreenet.seflin.lib.fl.us