.I 13 1 but, in recent years, have become commendably objective and even-handed. .D 14 1 .I 126 1 including MFC 2.0 as previously noted. SC++ can generate true 32-bit code and .D 127 1 .I 139 1 6.1, the bugs now appear mostly fixed. With the 6.1 release, support of DOS .D 140 1 .I 151 11 Watcom has traditionally been the technological industry leader, performing feats of optimization and floating point speed other vendors only dreamt of. The cost has been compile speed, which has been described (somewhat unfairly) as glacial. For all its technical excellence, WC++ is still a niche market compiler like SC++. As such, it's 3rd party support is poor, but many have found that Microsoft C libraries can be made to work with WC++, often with nothing more than recompilation. As other compilers (most notably VC++ and SC++) have advanced, WC++'s technological lead has diminished and even been reversed for some applications. Like SC++, and unlike BC++ and VC++, WC++ provides documented support for embedded systems work, although not to nearly the same degree as Metaware (see below). .D 152 8 .I 204 3 and contributes to the frugal use of run-time memory. Unfortunately, the code generated by the compiler - even with full optimization - is typically not of the same quality as the library modules. .D 205 2 .I 214 21 Available from the Free Software Foundation (FSF), GCC and G++ are two of only three compilers listed here available for free (the other is Micro-C). Originally written for Unix systems, there are several DOS and OS/2 ports available. All of the DOS ports require some sort of DOS extender technology built-in in order to work in DOS's limited memory. OS/2 ports obviously don't share this limitation. The EMX port for OS/2 is among the best and is quite popular among OS/2 programmers. Along with SC++, WC++, and HC++, the gnu compilers round out the list of full ISO/ANSI/ARM compilers with explicit support for embedded systems. Performance is decent, but not earth-shattering, and executables - especially small utilities - tend to exhibit some bloat. This may be overcome by using some non-standard compiler features unique to FSF compilers at the expense of portability. All GNU software carries the FSF's "GNU General Public License". This is their infamous "copyleft" license that guarantees their software tools remain free, yet imposes restrictions on redistribution and commercial distribution of the GNU tools and software developed with them. If you plan to use one of these to write commercial code, be sure and read the license agreement *very* closely. .D 215 12 .I 242 4 Secondly, Dave Dunfield recently made the DOS version of Micro-C freeware. You can use it without restriction or licensing fees to create DOS programs. Third, the source code (available when you register the shareware version) is .D 243 1 .I 246 6 Finally, the PC library includes support for writing TSR's, interrupt-driven serial I/O, and screen windowing. Amazingly, it also sports an optimizer, but requires MASM or equivalent for compiling PC applications. How does Dave provide such a nifty tool for free? Simple - he makes his money off of Micro-C by producing cross-assemblers for a variety of microprocessors .D 247 1 .I 249 1 code. .D 250 3 .I 278 5 If price is your concern, Mix Power C costs less to buy than PCC does to register and offers better performance along with the ANSI compliance that PCC lacks. If you plan on using an unregistered copy, Gnu C/C++ is vastly superior and is legally free. If you're attracted to its tight, fast code and can live with quirks and without ANSI compliance, go with Dunfield Micro-C. .D 279 5