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 Dave Dunfield, who has posted above, has a released a lot of great small little programs for DOS. He is an impressively talented developer and his work covers plenty of DOS areas. I have even witnessed some of his software on an embedded DOS SBC. - VOGONS (classic gameing/system forum) -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.