DDS Questions & Answers



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  const  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
        #message    (Output informational message - no error)
        #include
        #if/#ifdef/#ifndef/#else/#elif/#endif   (fully nested)
        #file       (sets filename displayed in error messages)
        Predefined symbols: __DATE__ __FILE__ __LINE__ __TIME__
      - 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 can be adjusted to manipulate larger numbers up to 256 bits.
        (8051 Compiler also includes a floating point library)

Q: Does MICRO-C support the (insert favorite processor)?

    See the CATALOG for a list of processor families which I directly
    support. The compiler is configurable to support variants within a
    family (extra registers/peripherals, different memory maps etc.).

    If you need support for a different processor, please check with me.

Q: Does MICRO-C run on a (Macintosh, UNIX box, etc...)?

    At the present time, my products run under DVM or any DOS compatible
    operating system/emulator, including: MS-DOS, DR-DOS, Win3x, Win9x,
    WinNT, Win2k, WinXP, Win7-32, OS/2, DosEMU(Linux), SoftPC(Mac) and
    DOSBOX (which is available for many platforms).

    DVM is my Virtual Machine, which can be ported to pretty much any
    environment, I currently offer a Win64 edition for free, which
    enables most of my products to run under Win7-64 and Win10.

Q: I heard that you sell source code, why is it not in the catalog ?

    Due to many legal and support problems, I no longer sell the source
    code to any of my products in my catalog.
    Contact me and we can discuss your needs.

Q: Does MICRO-C output assembly code?  Do I need an assembler?

    MICRO-C generates assembly code. All developers kits include my XASM
    cross assembler, which my IDE and CC commands automatically run for you,
    giving you a "one step" compile.  A command option allows you to include
    the 'C' source code as comments in the ASM listing.

Q: How much code can I fit in (nK) of memory?

    That depends on so many factors that its impossible to give you a general
    answer. It is usually more that you would think, because MICRO-C produces
    fairly compact code. This is especially true with my "Developers Kits",
    because their libraries are hand-coded in assembly language, using very
    tight code. Here are some examples of appications:

    MICRO-C Compiler (compiled itself!)                     23K
    ANSI terminal with built in XMODEM file transfer        10K
    Combination lock (rotary encoder, led indicator)        2K
    Telephone "distinctive ring" switcher (1 - 3 lines)     1K

Q: What are the "extras" included in the developers kits?

    LOTS of good stuff! Application notes. Utilities: Editors, File/Directory
    manupulation, TSR browser, listing and symbol table utilities, MAP file
    generator, ASCII encoder/archiver, Complete COMM/TTY package... more.
    Tiny MS-DOS compatible file system in C. Files for "embedding" PC's,
    and more good stuff.

Q: Is your EMILY52 simulator really that fast?

    EMILY's speed is dependant on your PC (>150,000 inst/sec on 386/25,
    >500,000 inst/sec on 486/33).

    My tests have shown EMILY on the 386/25 to be roughly equivalent to a
    4Mhz 8052. For example, a customer reported that an algorithm that
    should take about 1 second on a 12Mhz 8052 took 3 seconds under EMILY.
    The same program took over 20 MINUTES under another popular simulator.

Q: Is MICRO-C really as good as you say it is?

    Sturgeons Rule has it that 90% of science fiction is junk. A similar
    rule applies to PC software, but I'd say that 90% is a lower bound.
    Once in a while, though, you find a product that makes up for the rest..
    If price has kept you out of the microcontroller C market, you have no
    further excuses. Micro-C is as good as it gets!
                                    - Circuit Celler INK Dec91/Jan92

    I just obtained Micro C, and I'm very impressed!...
    The portability of Micro C is second-to-none, as is it's professionally
    written code and overall usability... I need to emphasize here that
    Micro C is by far the best coded compiler I've ever seen. This excellent
    code quality extends throughout all associated modules.
                                    - FIDOnet 'C' programmers echo

    Micro-C is a beautique compiler produced by Dunfield Development Systems
    in Ontario, Canada. It is a small C designed for programming low-end,
    usually 8-bit, embedded controllers. Dunfield sells a number of these
    versions targeted at such chips. Dave Dunfield has also produced an x86
    DOS version which is available as freeware.

    Micro-C is *not* related in any way to the Small C described in the
    Hendrix book and is, IMHO, an infinitely better compiler both in design,
    implementation and performance. Micro-C is an optimizing compiler which
    consistently beats Small C in both executable speed and size (by a wide
    margin, BTW) while supporting features not included in Small C. ...

    I have it and use it as a secret weapon for small footprint DOS utilities.
    Included in its standard library are packages for text windowing, writing
    TSR's, and interrupt-driven serial I/O. Want a quick and dirty sub-1K TSR?
    Use Micro-C. Want a 300-byte "hello world" in C? Use Micro-C. Want an 800
    byte terminal program with fully buffered interrupt-driven serial I/O? Use
    Micro-C. The make utility he includes with the compiler is written in
    Micro-C and is under 6K. ... I could go on, but you get the idea.
                                    - Usenet posting

    In my opinion, the C-Flea is a genious invention. ...
    An AVR native VM exists, and Mr Dunfield has sent it to me by email
    after purchasing C-Flea. Get in touch with him, he's very responsive.
                                    - Usenet posting

    I'm using the Dunfield package on an 8051-based walking robot. I choose
    it over the more expensive packages because I need something that my
    customers can afford to do development with. The Dunfield package does
    99% of what I need at a price that is hundreds of $ less than others
    (more than a $1000 less than the Kiel package). I've seen the Kiel
    package and it looks very good - just a little out of my price range
    for my uses.

    I've had only a few technical questions and Dave Dunfield has always
    responded promptly. Many times it was my own fault for not reading the
    manual completely.

    I know this much for sure: If more companies were run like Dave runs
    his, we'd all be better off.
                                    - Usenet posting

   -The preceeding are from public sources and can (or at least at one time
   -could) be confirmed.  I have also had MANY private emails from happy
   -customers. Instead of posting hundreds of messages you could not verify,
   -I have chosen a small one to sum them up:

    Dave, Thanks for responding to the minor problem I had with your
    wonderful little compiler.
                                    - A satisifed customer

Back to DDS main page.