Comeau Computing Home

Bursting With So Much Language Support It Hurts!
Comeau C/C++ Compiler Front-End!
Your Cross Platform C++ and C Compiler Solution Based On The Language Clauses Of ANSI/ISO Standard C++ and Standard C
NEWS FLASH -- Now Online!!

Watch for other platforms soon
Comeau C/C++:
 4.3.3 FEATURES!!
 4.3.3 Upgrade Form
 Test Comeau C/C++ Online!!
 Online Documentation
 Minor patch information
 License Agreement
 About Comeau C/C++
 Custom Ports
 General C/C++ Issues

Order worksheets:

C++ Committee:
 Meeting updates
 Committee "Issues Lists"
 Standard C++ Press release
 How to obtain Standard C++

 CCsh literature
 CCsh Documentation
 License Agreement

 Contacting Us
 Thoughts from Greg Comeau
 LINKS to C++ sites
 Book authors
Test Drive Comeau C++ Online!!
. . Used by hundreds of thousands!
. . . . Used over 2 million times!

Note that "tryitout" is down until further notice, therefore the form will fail.

Use the form below to try out Comeau C++ . While doing so, please keep the following in mind:

  • Although there are no source file limits, this form is really intended for code snippets.
  • Of course, the code must be complete enough to compile.
  • Of course too, due to the nature of this interactive web-based setup, multi-source files intended to be linked, or which require later template instantiation, etc, are not possible online (although Comeau C++ supports those things, they are just too involved for this form).
  • Similarly, it is not currently possible to execute your code.
  • Currently, not all header files are supported. More work is still to be done in this area in order to provide a more useful interactive web compiler. Those headers that are being used are derived from libcomo for purposes of this online compiler.
  • Compiles are in strict Standard C++ mode by default. You can relax this setting, which will usually give a warning instead. You may also specify some command line options.
  • It's important not to misinterpret results. Therefore, please email us with any questions you may have about your compile results. Indeed, question any results that you do not understand and/or that you disagree with.
  • The interactive Comeau C++ compiler is running under the NetBSD UNIX-like OS on an x86 platform, although it should be considered a faux platform.
We hope that providing this interactive web-based version of Comeau C++ is useful in at least the following areas:
  • Getting to use a feature before it is available elsewhere.
  • Evaluating Comeau C++ for your purchase. Some customers ask about a test, demo, eval or trial version of Comeau C++. This form is the next best thing.
  • Seeing if your code is up to date language-wise, as Comeau C++ supports all major and minor core language features, including those of C++03.
  • Testing out a feature, etc. that you are having a problem with on another compiler.
  • Double checking the results of a feature you're not quite sure about -- this is a student's delight.
  • Getting better error messages, about code than your current compiler handles cryptically and/or wrong.
  • Testing code from a book.
  • As a resource for the "regulars" on Usenet newsgroups, to use when helping others.

Please type the following carefully, as the information you provide will be used to process your test drive.
Test Drive Comeau C/C++ Online!!
Email Path (required):
Full Name (required):
Your Company:
Where did you hear of Comeau C/C++?
Which platform? For which platform do you want Comeau C/C++?
C90 or C99 mode?
C++03 or C++0x mode?
Strict mode?
C++ mode with -tused no -tused
-tused will instantiate all templates hence doing a fake link
C99 mode ( and above only) C89/C90 mode
Do not use C99 mode or C89/C90 mode for C++ code
Use STLFilt Don't use STLFilt
Compile in strict C++03 mode. Compile in relaxed mode. Beta2 October 6, 2008 PLEASE REPORT PROBLEMS TO US!!
4.3.9 ALPHA March 27, 2007
Allow C++0x extensions even in strict C++03 mode. Disable C++0x extensions.
Support for C++0x only in versions 4.3.9 and above.
'extern template', static_assert, and auto type specifiers, Oh my!
4.3.8 ALPHA 8/19/06
4.3.3 BETA 8/4/03 4.3.1 BETA 3/1/03 8/20/02 4.3.0 5/10/02
Support for 'export' only in versions 4.3.0 and above 4.2.44 4.2.43 4.2.42
April 27 NOTE: The Standard Library we have online seems ok with but may still need some changes, so use it with that in mind.
Command line options:
Enter your C++ or C code here:

You post code here under your own free will.

For quality assurance purposes, we may view your code and its compile results.

We will never purposely distribute or make viewable your code.

Note that "tryitout" is down until further notice, therefore the form will fail. You post code here under your own free will. For quality assurance purposes, we may view your code and its compile results. We will never purposely distribute or make viewable your code.

Click on the compile button only once. After you click on the compile button, it may sometimes take a few moments to invoke the compiler over the net. Please be patient.

Please email us with any questions. FYI, here's some common problems that folks are running into with their test code:
  • Names from the base classes of your templates are unavailable. For some technical details why this is often the case, see
  • When using export remember:
    • It is only supported in 4.3.0 and above
    • Your template may need to end in a semicolon.
    • This online compiler does not do linking, and so the exported templates are "nowhere".
    • Standard C++'s export has nothing to do with dllexport supported by MS-Windows compilers.
  • If you are using STLfilt, then take note that it shortens error messages for code that uses the "STL part" of the C++ Standard Library. In the act of doing that, it purposely avoids things like default arguments to templates. If they are important for you to see, then turn STLfilt'ing off.
  • Standard C++ and Standard C each say that main returns a type of int, so declaring main to return nothing or void is going to generate an error message in strict mode. For some technical details on this, see
  • There is no header file such as <iostream.h> in Standard C++, it's <iostream>. And so on for many headers. For some technical details on this, see
  • There are no names in Standard C++ just called cout, cin, endl, string, vector, ostream, etc. Instead, they are respectively: std::cout, std::cin, std::endl, std::string, std::vector, std::ostream. Therefore, you either need to fully spell out the names as in the second form, use a using std::cout; declaration, or use a using namespace std; directive. And of course, their correct header needs to be #included. For some technical details on this, see
  • Notice when you've made a spelling error (keywords such as namespace, or some of your identifiers, are sometimes mistyped).
  • C++ requires function prototypes to be in scope before a respective function can be called.
  • C++ and C are unlike the free form statements of say BASIC, therefore if statements, etc., must be placed into a function in order to be valid C++ or valid C.
  • Headers such as windows.h or conio.h, which are not Standard C++ or Standard C, are not currently supported through the online compiler.
  • By default, template instantiation is postponed to link time, but as mentioned above, this online version of Comeau C++ does not link. Therefore, you may want to use the -tused option to force some instantiations, hence it is the default.
  • Some of you are apparently testing features of classes or templates without quite knowing exactly what those features do and/or are for. We suggest that you pursue some quality C++ texts, we at Comeau have created a reading list.
/* the end */

[ Home | About Us | Contact Us | Comeau C++ Documentation | C++ Committee | C++ Resources ]

(c) © 1992-2013 Comeau Computing. All Rights Reserved.
Thanks, and come back soon!
C++ parsing; C++ syntax analysis; C parsing; C syntax analysis; EDG; C++ to C translation; Convert from C++ to C; Translate C++ to C; C++ to C tool; hand conversion; cfront replacement; AT&T; Standard C++; near compliant C++; standard conforming; ANSI; ISO; embedded systems; multi-platform; cross-platform; cross-compiler; portable compiler; target platform; templates; C++ resources; C++ links; UNIX compiler; DSP compiler; savvy; track record; free technical support; free compiler upgrade; 8-bit; 16-bit; 32-bit; 64-bit; 128-bit; VC++; MSVC++; commercial; inexpensive; free; PD; public domain; C++ information; Commeau; Comeaus; Comeaux; Commeaux