Willus.com Home   |   Archive   |   About  
Win32 C/C++ Compilers
Willus.com's Win32/64 C/C++ Compilers Page
(Information about x86/AMD64/EM64T compilers)
Last updated Saturday, 09-Jan-2016 12:39:36 MST

See the new Win32 C/C++ Compiler page layout.

OVERVIEW

These are my takes on some of the many C/C++ compilers to choose from for compiling 32-bit/64-bit Windows/Linux applications on x86/x86-64. The opinions expressed here are purely my own. I am not a professional compiler tester or even an expert, but I do a lot of programming for my job and for fun (mostly in C), and I am interested in compilers and performance. I do not take payments or endorsements from any compiler company or group, and I do not have the funds or the time to do thorough investigations of all compilers, particularly expensive commercial ones.

LATEST NEWS (for the latest news about this page).

The Compiler I Use
Since upgrading to Windows 7 64-bit in early 2010, I've been using Mingw64. See my Mingw Install Notes for the latest details on my setup. I switched to MinGW from the RSXNT C/C++/FORTRAN compiler in September 2002. RSXNT is no longer supported and doesn't have a web page. The author has moved on to other things.

Going Small
If you're interested in a small-footprint compiler, check out TCC, by Fabrice Bellard.

Integrated Development Environments
I'm not a big user of integrated development environments (IDEs), so I'm not a good person to ask about which one to use. Give me a make file and a vi-like editor and I'm happy doing everything from the command line (and maybe the occasional batch file or C helper program). For links to free IDEs, try the MinGW IDE Wiki Page, or my Pelles C section.

Where to get Win32 Documentation
For Win32 API documentation, the best source for recent material is msdn.microsoft.com or just a search engine like google.com. The original lcc-win32 homepage has broken links to free (but quite old) Win32 API Documentation and a nice C tutorial, but you can find them by Googling win32hlp.exe at mirror sites like this.

Other Good C/C++ Compiler Links
For more C/C++ links, check the SOFTWARE DEVELOPMENT section of my Useful Computing Links page.

Useful Utilities
If you want to cut down the size of your .exe files, try the UPX EXE packer. It's a terrific little utility. Look for other great Win32/64 utilities on my Useful Software Page.

Thank You
I'd like to thank all of the people who send me e-mail to keep me updated on Win32/64 C/C++ compiler news. Want to tell me your opinion or give me an update? Send me e-mail.


LATEST NEWS

Jan 9, 2016 WhoisHostingThis.com has an excellent library of general resources including the history of programming and C programming resources.
I've also added my gcc 5.2.0 install script to my MinGW pages.
Feb 2, 2015 Has it really been so long since my last update? Time flies. I've added an entry for Orange C. I have been using the MinGW version of gcc 4.9.2 since November 2014. The install follows my instructions for 4.8.3.
Jan 21, 2012 In the process of updating my latest C compiler benchmark, I updated the Microsoft blurbs here to be clearer about how to get the compilers versus how to get the GUI/IDE development environments.
Dec 29, 2011 After nine years, I've finally posted another significant compiler benchmark. I also posted my install tips for gcc 4.6.3.
Dec 18, 2011 Updated the Microsoft free section.
Nov 18, 2011 I added a couple new benchmarks of MinGW and TCC to my MinGW page.
Nov 18, 2011 GCC rolls on: 4.6.2, 4.5.3, and 4.4.6 are all out. Since July, I have been using what I call my "omni-package" from the mingw64 project page, where I have mixed together two of Ferreri Gabriele's packages to create one install with both 64-bit and 32-bit gcc exes that compiles to either 64-bit or 32-bit exes. It has worked extremely well and been very reliable. I've posted a new MinGW Install Notes page about how I did it, and I cleaned up some of the broken links on my MinGW pages.

I also added a page on Fabrice Bellard's TCC.
July 9, 2011 I've obviously been delinquent on this page--gcc is up to version 4.6.1. For a couple of weeks I've been trying a multilib toolchain version of gcc 4.5.2 uploaded by Ferreri Gabriele (aka megasoft78) on the mingw64 sourceforge page (look under the multilib toolchains folder under the files tab). See also my install notes. A nice feature is that this package allows you to compile for either 32-bit (use -m32 flag) or 64-bit windows exes, just the same as gcc on linux. It has worked well so far--I have compiled over half a million lines of C code with it and built several Win32 and Win64 apps which run flawlessly. The only thing I wish Gabriele would add is support for 32-bit compiler exes so that the same package would compile code on both 32-bit and 64-bit Windows (the compiler exes are 64-bit). He does at least have this gcc 4.5.2 version which builds Win32 exes on Win32 systems, I presume. I haven't tried it, though. I would to integrate it with the multilib package.
Feb 24, 2010 The mingw.org glitch was temporary. The address works again (they have changed hosters).
Jan 31, 2010 I got a chance to try out MinGW 64-bit on Windows 7. It worked well. Also, I have no idea how long it's been this way, but the www.mingw.org address no longer works. You have to go to the sourceforge page.
July 26, 2009 I've finally finished updating all of the compiler offerings. One interesting project I stumbled on recently is OpenCL, a C-based API for programming massively parallel systems like the NVIDIA Tesla.
May 31, 2009 I'm trying to work through these compiler pages and provide some long-overdue updates. I must admit I'm not as excited about Windows compilers as I used to be since I've stabilized on gcc 3.X, but with a planned upgrade to 64-bit Windows looming at both work and home, my interest will probably revive and have more focus on the 64-bit side.
April 21, 2009 GCC 4.4.0 released.
Mar 5, 2008 GCC 4.3.0 released.
Nov 11, 2006 My apologies for not finding the time to keep my compiler links more up to date. If you haven't visited the GCC benchmark page, it's worth a look. There are several plots that chart the results of the SPEC benchmarks on various systems daily with the very latest updates to GCC. GCC 4.2.0 should be getting very close to release.
Jul 16, 2006 I've finally taken the time to update some of the blurbs here. I hope to systematically do them all within the year, but I've updated GCC, Microsoft, Intel, Borland, and Pathscale for now.
Feb 28, 2006 GCC 4.1.0 has been released. This is good news for MinGW users since the MinGW philosophy has been to wait for 4.1.x before porting the GCC 4.x versions.
Oct 31, 2005 If you are curious about a gcc 4.x release under MinGW, you might want to check out this post from Danny Smith, or read the bit under "Milestones" written by Earnie Boyd on MinGW's spotlight page at SourceForge.
Jun 16, 2005 Intel released their v9.0 compilers, which are have new features to optimize code for multiple cores.
May 24, 2005 I added free and commercial sections for Ch, an interesting, cross-platform C/C++ interpreter from softintegration.com.
Apr 20, 2005 GCC 4.0.0 is released. This is a major new release from the gcc team. There is a Slashdot thread about the release. I have played with it just a little bit on a 2.2 GHz Opteron box, and on a sample of one code (BW1D C from my compiler benchmarks), it made little difference in compiled code run times, with the gcc 4.0.0 compiled executable running maybe 2-3% faster than the gcc 3.4.0 executable in 32-bit mode and virtually dead even in 64-bit mode.
Mar 18, 2005 I found this interesting ranking of computer languages while doing some googling a couple days ago.
Mar 15, 2005 Slashdot has a post discussing a C-Net news article which offers an informative preview of GCC 4.0. One of the newly posted features on GCC 4.0 is autovectorization, which should be very cool!
Feb 5, 2005 I've cleared up some mistakes in my lcc-win32 and Pelles C sections. My apologies to the authors of these compilers.
Jan 20, 2005 MinGW 3.2.0 (rc3) has been released. This is the complete MinGW environment install package and contains GCC 3.4.2 and the latest Win32 API package. It has jumped from 15 MB (MinGW 3.1.0) to 50 MB in size, partly because it now includes gcc-ada and gcc-java.
Nov 6, 2004 GCC 3.4.3 released.
Oct 8, 2004 With more 64-bit support coming out, I've added some qualifiers to the heading on this page and to my overview to indicate that I'm interested in x86/AMD64/EM64T compilers--not just Win32 compilers.
Other notes:
  -- Intel released v8.1 of their compilers with 64-bit support on Oct 4.
  -- GCC's next major release (was GCC 3.5) was renamed to GCC 4.0 on Sept 9.
  -- A comparison between Intel v8.1 and GCC 4.0 is here.
  -- GCC 3.4.2 was released on Sept 6, and the MinGW candidate has been available for download since Sept 23.
  -- I've updated my GCC, MinGW, and Intel sections.
June 25, 2004 I've updated my GCC section to discuss the exciting developments which are being implented into the next major release (3.5).
June 2, 2004 I've added a section for the Pelles C compiler and integrated development environment, a free package that I was notified about via an e-mail.
May 9, 2004 MinGW's GCC 3.4.0 candidate is now available.
May 5, 2004 I updated my Microsoft Free Compiler section with a link to their free optimizing Visual C++ compiler. Thank you to the person who pointed this out to me in an e-mail.
Apr 20, 2004 GCC 3.4.0 released. Hopefully a distribution for MinGW will follow soon.
Feb 24, 2004 GCC 3.3.3 released.
Dec 15, 2003 Intel has released v8.0 of their compilers.
Nov 21, 2003 Added a section in my commercial compilers list for the PGI commercial compiler.
Nov 18, 2003 They're not Win32, but Pathscale is introducing high performance compilers for the AMD64 architecture that they claim increase performance of executables by 40%.
Oct 17, 2003 Slightly modified my Overview section and added some links to other good C/C++ compiler sites.
Oct 10, 2003 I've started my own MinGW/Gnu C Tips page.
Sep 15, 2003 MinGW 3.1.0 based on GCC 3.2.3 released.
Sep 5, 2003 MinGW 3.0.0 based on GCC 3.2.3 released. You can also choose to download and install GCC 3.1.1 components from the same site if you want the latest version of GCC.
Sep 4, 2003 Open Watcom C/C++ and Fortran 1.1 released.
Aug 8, 2003 GCC 3.3.1 released.
May 14, 2003 GCC 3.3 released.
Feb 16, 2003 Watcom's Open C/C++ 1.0 (also with FORTRAN) was released on Feb 7.
Feb 16, 2003 I updated several sections this morning.
Feb 9, 2003 I've given this page a new look since the total amount of information was starting to be unwieldy. You can now see at a glance which sections I've recently updated. And if you prefer the older format, it's still here.
Jan 31, 2003 The Microsoft C/C++ Compiler for free? (Jan 17, 2003) What's gotten into Bill Gates?
Dec 3, 2002 Intel v7.0 compilers are out.
Sept 7, 2002 MinGW 2.0.0 based on GCC 3.2 has been released!
Jan, 2002 Here are my 2002 Win32 Compiler Benchmarks.

Free Compilers
About GCC (last update 11-29-2014)
Many of the free C compilers listed here are ports of GCC, which is the standard compiler that comes with all Linux distributions. GCC used to stand for the GNU C Compiler, but it now stands for the GNU Compiler Collection since it has grown to include front-ends for C, C++, Objective C, Fortran 95, Java, and Ada, as well as other front-ends. GCC is highly portable, very robust, and was started over 30 years ago by Richard Stallman and the Free Software Foundation (FSF). GCC has been called "the most important piece of software in the world" by Arthur Griffith, author of GCC: The Complete Reference. Lately GCC is consistently putting out quality new releases. Check their informative web site to see the latest versions and features.

BENCHMARKS
GNU maintains a GCC benchmark page which has links to several independent benchmarks of GCC. Also see my 2011 Win32/64 Compiler Comparison.



Embarcadero (was Borland) (last update 5-31-2009)
Embarcadero is the latest owner of the original Borland C++ compiler as of July 2008 They still offer version 5.5 (released in August of 2000) of the Borland C++ compiler for free download, as well as a trial version of their latest commercial compiler.

The obvious downside is that this compiler dates back to 2000, but it does install painlessly and doesn't take up a lot of space on your hard drive, which is remniscent of Turbo C. In fact, if you are used to the old Borland Turbo C way of doing things, you should feel right at home with this compiler. This free version does not come with an integrated development environment (IDE). Everything must be done from the command line. Also, the license does not allow for commercial software development (i.e. you cannot sell the software that you develop with this compiler). The included documentation is thorough and easy to follow. Unfortunately, this free version of Borland's compiler generally produces the slowest running executables according to my Win32 Compiler Comparison



Ch (last update 5-31-2009)
Ch is a cross-platform, C/C++ interpreter from softintegration.com. It touts itself as "an embeddable C/C++ interpreter for cross-platform scripting, shell programming, 2D/3D plotting, numerical computing, and embedded scripting." I have not tried it, but the user testimonials page has some convincing endorsements. The standard edition is free for personal and commercial use. The professional edition, which has built-in plotting support, is $500 for non-academic use. There are also several toolkits for numerical analysis and web programming.


Cygwin (last update 5-31-2009)
The Cygwin Project provides a Linux-like environment for Windows, including the cygwin DLL and a ton of linux packages which have been ported to cygwin, including gcc 4.3.2. Cygwin and works with both 32-bit and 64-bit versions of Windows, though support for Windows Me/98/95 will be discontinued with v1.7.0 (in beta test as of 5-31-09). It is a very popular package for those wishing to port Linux apps to Windows.

If you do not have a lot of Linux experience and just want a Windows compiler, I do not recommend using Cygwin.



Digital Mars (last update 12-29-2011)
This is one of three free C compilers not ported from GNU C. It used to be Zortech C++ and then Symantec C++. Now it is the Digital Mars C/C++ Compilers by Walter Bright. This compiler (on v8.5 as of May 2009) has a reasonable footprint and installs painlessly, and, thanks to some quick work by the author, it flawlessly compiled all of the code in my 2002 Win32 Compiler Comparison and performed admirably in my 2011 Win32/64 Compiler Comparison. Digital Mars generates "Win32, Win16, DOS16 and DOS32" exe's (though the development environment is Win32 only). The Digital Mars web pages have lots of interesting links (e.g. Walter Bright's new D programming language), and they are worth checking out.


DJGPP (last update 6-3-2009)
Another port of the GNU-C compiler to MS-DOS is DJ Delorie's port, known as DJGPP (DJ's GNU Programming Platform). I used this compiler way back in the MS-DOS days before MS Windows took hold. It's strength is generating 32-bit DOS applications, but with RSXNTDJ (RSXNT for DJGPP), it can be used to create Win32 apps like EMX/RSXNT. The disadvantage (compared to EMX/RSXNT, for example) is that the compiler and other tools are distributed in MS-DOS 32-bit format instead of Win32 format, and this means that they run more slowly on a Windows 95/NT system. Go to DJ's web site for all kinds of information on GNU, C compilers, etc.


EMX/RSXNT (last update 6-1-2009)
RSXNT, developed by Rainer Schnitker, appears to be defunct. Rainer Schnitker's home page for his port of GNU C to Win32 has now gone missing, and he hasn't re-surfaced in a google search as of 2009. RSXNT is a solid port of GCC to the Win32 environment, but I started using MinGW32 instead back in September 2002. MinGW is actively supported. One advantage to RSXNT is the capability to create a single .exe file which will run in both native Win32 mode and in MS-DOS (with a couple of support files, and assuming that the code is a "console" application which has no Win32 calls). This simplifies code maintenance if you are developing for a mixed environment which includes some very old PC's. Otherwise, I would use MinGW.

Click here to get the RSXNT compiler (based on gcc 2.7.2) and install instructions from my web server. I've designed my distribution to have an install feel more like MinGW (a single directory tree rather than the three that Rainer had his distribution set up for).



Intel (last update 6-3-2009)
They're not Win32 compilers, but Intel does offer their Linux compilers (C, C++, and FORTRAN) and other Linux development tools to non-commercial developers free of charge. They are offering 11.0 as of May 2009. You have to provide an e-mail address to get the software, and it's only for non-commercial development. Read more about Intel in the commercial compilers column on this page.


Lcc-win32/64 (last update 1 Nov 2014)
Lcc-win32 is a Win32 C compiler based on lcc, a retargetable compiler authored by Christopher Fraser and David Hanson at AT&T. The lcc compiler was ported to Win32/64 and bundled with tools and documentation and called lcc-win32/64 by Jacob Navia. This version is being actively maintained as of late 2014. It is easy to install and has a compact footprint (120 MiB) which includes both the 32-bit and 64-bit compilers. I have no idea about the performance but I am curious now since it is being actively maintained. My guess based on the command-line optimizations is that it does not generate significantly faster code than it did several years ago. The only SSE options are SSE-3. It is worth noting that lcc and lcc-win32 are different compilers and have different licensing agreements. Lcc is free for personal and commercial use, while lcc-win32/64 is free only for personal use.

I tried lcc-win32 out briefly back on version 3.0. You can see performance results in my Win32 Compiler Comparison. It was easy to set up, had a small footprint, compiled code very quickly, and came with a nice text editor and a Win32 documentation file, though the Win32 doc file is quite old (1996) and does not include recent Win32 API's. (A better place for Win32 API's is msdn.microsoft.com.)



Microsoft (last update 1-21-2012)
You can get Microsoft's Visual C/C++ compiler (32 and 64-bit) from Microsoft's freely downloadable software development kits (SDKs), e.g. the Windows 7 SDK (you'll also want VC++ 2010 SP1 and you'll need .Net Framework 4). If you also want the Visual Studio GUI/IDE, you can find it on the Visual Studio Express Editions Download Page, which includes Visual C++ 2010 Express Edition, along with Visual Basic, C#, etc. A table comparing the Express (free) edition with the others is on the Visual C++ Editions page. Note that the C/C++ compiler that comes bundled with Visual Studio Express generates only 32-bit code (but the Win 7 SDK comes with both 32-bit and 64-bit compilers). The download page says this:

What is Visual Studio Express? Visual Studio 2010 is a complete development environment from Microsoft for creating web applications, client (Windows) applications, and Windows Phone 7 applications. In contrast, Visual Studio 2010 Express is a set of free, entry-level products that features streamlined interfaces and core capabilities that focus on providing the tools that you need for creating applications for a single platform. For example, Visual Studio 2010 Express for Windows Phone provides the tools that you need to create games and applications for Windows Phone 7. Integration with Visual Studio Team Foundation Server, and advanced design, development and test capabilities, such as 64-bit development, unit testing and remote debugging, are not included in the Express products.

... and the Visual C++ 2010 Express page talks about Visual C++ in particular ...

Visual C++ 2010 Express is part of the Visual Studio 2010 Express family, a free set of tools that Windows developers at any level can use to create custom applications using basic and expert settings. Visual C++ is a powerful language that is designed to give you deep and detailed control when you build either native Windows (COM+) applications or .NET Framework managed Windows applications.

I benchmarked Visual C/C++ 2010 in my 2011 Win32/64 Compiler Benchmark.



MinGW-32/64 (last update 12-29-2011)
If you don't need the Linux/Unix API provided by Cygwin, you can get a GCC port from the MinGW Page for a "Minimalist" (i.e. not so unix-like and more Win32-like) implementation of GCC under Windows. A lot of the MinGW pages seem out of date, so I actually go to the MinGW-64 page more often these days since that is where I can more readily find newer builds based on the latest gcc versions. There are actually so many packages that what you have to download is confusing. They have a "what do I download" explanation page, but I didn't find it very helpful. They need a simple step-by-step example of what to do if you're a first-timer who just wants to compile Win64 code on his/her Win64 system. Until then, see my MinGW Install Notes.

Here are my 2011 Win32/64 C Compiler Comparisons which include MinGW with gcc 3.x and 4.x, and here are some benchmarks of MinGW64 gcc under Windows 7. See my MinGW/Gnu C Tips page for more information and tips on MinGW.



Miracle C (last update 6-4-2009)
The Miracle C compiler, authored by Tadeusz Szocik, isn't quite free and only compiles traditional ANSI C programs (it does not include any Win32 headers or libraries). But the shareware fee is only $19, it has a small footprint (1 MB), it installed and uninstalled flawlessly in Win XP, and it comes with an integrated development environment (workbench), so I thought it at least deserved a blurb.


Orange C (last update 2-8-2015)
Orange C, developed by David Lindauer, has been under development since 2006 and is a compact (only 8 MB, with the installed package having a footprint of less than 20 MB) package which is targeted for Win32 and includes an IDE. Orange C claims to support the C89, C99, and C11 standards, though it does not compile C++. The compiler does not appear to have a significant number of optimization options--only a flag to turn them off (/O-). I was able to build and run a few of my C Compiler benchmarks on Orange C, and it generally had build times similar to GCC and executable performance times that were not very good--typically the slowest of any other compiler except for Tiny CC, so it's not the compiler for you if you want top-performing executables. Still, it looks very easy to set up and get started and it comes with a basic set of Windows header files--a good option for somebody who wants to get started quickly at no cost. Here's a testimonial from a user who e-mailed me in January 2015:

...I went on line and your pages was one of the pages that I came to. I tried several that were listed and wasn't real happy. And then I found the Orange C compiler. I don't know if you had a chance to try this compiler. ... It has turned into a really nice and friendly IDE. I am not very intuitive when it comes to using software. I need things to be spelled out. So I was really pleased with Orange C. It has a nice feel, has relatively good "help", and the developer is quick on the draw.




Pelles C (last update 6-4-2009)
Pelles C is "a complete development kit for Windows and Pocket PC" centered around an optimizing C compiler based on lcc (not lcc-win32/64). Both Win32 and Win64 versions are available and are being actively maintained. I have yet to try it out, but the integrated development environment (IDE) screenshots on the website look pretty good. This is probably a very good choice for people who want to start programming Windows. Unlike lcc-win32/64, which is free for personal use, but not for professional use, Pelles C is free for both personal and commercial use since it is based on the original lcc. I have received several positive comments on it via e-mail, an example of which (from 12-5-04) is shown below (though I'm not sure why the need for a command box should be seen as a drawback ;-).

...I find [it] very useful. It compiles very fast executables and very tight code. Well-made project management completely eradicates the need for a command box, and yes, it does PocketPC, WinCE, and some other cell phones just fine (I have tested them on the actual systems). It has everything from DOS16, which I used for some time with Microsoft's QuickBASIC to make some fairly complex programs, to WIN64, which I have yet to test...I have to say it's the best compiler I've ever used (and I've used quite a few)...




TCC (TINY CC) (last update 12-29-2011)
TCC, authored by the very talented Fabrice Bellard (progenitor of FFMPEG), is billed as small, fast, and safe. With a footprint under 1 MiB, the entire 0.9.25 win32 tcc distribution (exes, headers, lib files) fits onto a floppy rescue disk. You can also easily turn your C files into Linux scripts by adding #!/usr/local/bin/tcc -run at the top of them. TCC started as OTCC, the smallest compiler ever written which can compile itself, winner of the 2002 International Obfuscated C Contest.

I included TCC in my 2011 Win32/64 C Compiler Comparison and also posted a couple of benchmarks comparing to gcc. It lives up to its claim of being an extremely fast compiler, but there are obvious trade-offs. The executable performance is not as good as MinGW, nor are the error messages nor the level of Windows support (various less common Windows headers are missing from the Win32 distro). Still, with some minor mods to my code and to the TCC Windows header files (I was able to copy some of the MinGW windows headers), I was able to compile 350K lines of C code, including a lot of Windows-specific code, in a matter of minutes. That in itself is a remarkable achievement considering the size of the TCC distribution. I don't know how I missed listing TCC for the last seven years. I am embarrassed.

If you think TCC is cool, check out other links on Bellard's site, including a javascript version of Linux which runs in your web browser, a javascript scientific calculator, and a bootable version of TCC.



Watcom (last update 5-24-2012)
Open Watcom C/C++ and Fortran is up to version 1.9 (June 2010) with support for DOS, Win32, Linux, and O/S 2. Watcom is not a high-performance compiler compared to, say, Microsoft, Mingw/gcc, or Intel, but it has an easy-to-use installer package and comes with some nice developer tools. If you are a novice programmer just looking to get started, you may want to give it a try. Feedback on it would be welcome. An excellent resource for Watcom's compiler is Paul Hsieh's Watcom C/C++ page.
Commercial Compilers
Embarcadero (was Borland) (last update 7-25-2009)
I used Borland back in my MS-DOS days when they made Turbo C, and that compiler was ahead of it's time--small footprint, fast, conformed to the latest ANSI standards, compiled everything flawlessly, and had lots of handy library functions for DOS programmers. It was only when I needed a clean 32-bit compiler that I switched to DJGPP's GNU C (see DJGPP section) in the late 1980's and early 1990's. Borland's compiler is now owned by Embarcadero as of July 2008 and is called C++Builder (2009 edition as of July 2009). There is a FAQ page and a product edition page. Prices for the professional, enterprise, and architect editions are $900, $2000, and $3500, respectively. A free version is still available--see the freeware compiler column.


Ch (last update 7-25-2009)
Ch (v6.1 as of July 2009) is a cross-platform, C/C++ interpreter from softintegration.com. It touts itself as "an embeddable C/C++ interpreter for cross-platform scripting, shell programming, 2D/3D plotting, numerical computing, and embedded scripting." I have not tried it, but the user testimonials page has some convincing endorsements. The standard edition is free for personal and commercial use. The professional edition, which has built-in plotting support, is $500. Ch supports Win32 and Win64 as well as several other platforms (linux, Mac OS X, Solaris). There are also several toolkits for numerical analysis and web programming.


CodePlay (last update 7-25-2009)
Founded in 1999, CodePlay continues to offer their VectorC compiler for Windows (v2.1) under their "Legacy Products" page. They have a FAQ page and a benchmark page for VectorC. Though the benchmark page is somewhat dated (I should talk!), it is interesting because it provides full source code plus the compiled assembler code for all of the examples. CodePlay also offers tools such as their Sieve C++ system which layers on top of VectorC to support multicore platforms. CodePlay VectorC also supports the Playstation 2 platform. The VectorC PC compiler has several prices, including professional ($800) and special ($80), which is presumably targeted at students and/or amateurs.


Comeau (last update 7-25-2009)
Comeau Computing offers a C++ front-end (v4.3.10.1 as of July 2008) which converts C++ to C, which is then compiled by a separate back-end. Currently, the Win32 port supports VC++ 7.0, Borland, Metrowerks, MinGW, lcc-win32 and Digital Mars backends. Comeau's C++ front end is also available on a wide number of other platforms, though support for Win64 is not mentioned, and many of the web pages seem a bit dated. The license runs $50. I have not tried it out.


Intel (last update 12-29-2011)
Intel now is naming their compilers by year rather than version number, and they have all kinds of software development tools for your to spend your money on depending on your target environment. My most recent benchmark of Intel is my 2011 Win32/64 C Compiler Comparison. Intel's compiler performs very well based on SPEC CPU benchmarks.


Lcc-win32/64 (last update 6-4-2009)
Jacob Navia, through Q Software Solutions, now offers commercial versions of lcc-win32 and lcc-win64. The prices run from 40 euros for the base system to 70 euros for the full system. The change log shows active development through 2009. I'm not sure what the difference between the commercial version of this product and the the freely downloadable version is, but it is pointed out in a couple of places that the free version is only for private use.


Freescale (was Metrowerks) (last update 7-26-2009)
The CodeWarrior Development Tools which used to be maintained by Metrowerks are now owned by Freescale, and support for a Windows version seems to have been dropped, though googling codewarrior for windows seems to come up with links where an older version can be downloaded for free.


Microsoft (last update 1-21-2012)
Microsoft offers their Visual C/C++ compiler for free. Their professional development environment for Windows is called Visual Studio 2010 Professional. I can't tell at a glance what features Visual Studio Professional comes with that the free Visual Studio Express does not have, but the cost is substantial--$800 to $1200 depending on what options you choose. I benchmarked Visual C/C++ 2010 (the version that comes with Microsoft's freely downloadable SDKs) in my 2011 Win32/64 Compiler Benchmark.


PathScale (last update 7-26-2009)
The PathScale compilers (now owned by SiCortex) aren't explicitly for Win32 programming, but they do provide a high performance compiler suite for x64-based Linux systems. They claim to be the "highest-performance 64-bit C, C++ and Fortran compilers for Linux-based environments," and their SPEC scores are very good. Unfortunately, how to purchase of the Pathscale suite isn't obvious, since SiCortex is a hardware vendor. They say they ship the PathScale suite with their hardware, but don't seem to have a link for buying it separately.


PGI (last update 7-26-2009)
The Portland Group (PGI) offers a a compiler suite for Win32/64, Linux x32/x64, and Mac OS X. They are on Release 9.0 as of July 2009. Commercial single-seat prices are $420 for C++, $700 for FORTRAN, and $990 for both. Academic pricing is also available.

This page last modified
Wednesday, 25-Aug-2010 21:21:38 MDT