Comeau C/C++

Comeau C/C++ is a compiler for C and C++ produced by Comeau Computing.

Comeau C/C++
Stable release
4.3.3
Preview release
4.3.10.1 beta2 / October 6, 2008 (2008-10-06)
Written inC/C++
Operating systemWindows, Linux, Mac OS X, Solaris
TypeCompiler
Licenseproprietary
Websitewww.comeaucomputing.com

Design

The compiler supports several dialects of both the C and C++ languages. It comes with its own version of the Standard C++ library, libcomo, that is based upon the Standard C++ library from Silicon Graphics, but can also be used with the Dinkumware Standard C library.[1][2]

The compiler is based upon the Edison Design Group C++ frontend, also utilized in the Intel C++ Compiler. Rather than produce an executable directly, Comeau C/C++ outputs C code and requires a separate C compiler in order to produce the final program. The Comeau C/C++ can employ several back ends.[1][3]

Comeau C/C++ has been described as the most standards-conformant C++ compiler.[1] In 2006-2008 it was described as the only mainstream C++ compiler to fully support the export keyword for exported templates.[4][5]

Standards compliance

Comeau Computing is a founding member of the C++ committee. Comeau Computing's CEO, Greg Comeau, provided one of the early ports of cfront to the PC.[2][6]

Distribution

A limited-function version of the compiler, which allows one to compile source code and view any resulting error messages, but not to produce executable programs, is available from the company's web site.[2]

The compiler is available for both Unix and Microsoft Windows platforms. Comeau also offers custom ports to other platforms, albeit that this is substantially more expensive than buying existent versions of the compiler.[1]

Status

The compiler was updated October 6, 2008 featuring version 4.3.10.1 Beta 2.

As of September 2017, version 4.3.10.1 remains in Beta. The company website appears to have been sold to an unrelated blogger.

gollark: Is there a decent way to, at least, run a function with a timeout or something?
gollark: Yes, I know, but that's specifically for Lua.
gollark: <@144182382692532224>
gollark: Well, what I want to do is run a function (in this case, execution of Lua code) either until it completes or until a timeout elapses.
gollark: <@!330678593904443393> Do you know how to terminate a thread in Rust?

References

  1. D. Ryan Stephens; Christopher Diggins; Jonathan Turkanis; Jeff Cogswell (2006). C++ Cookbook. O'Reilly. p. 8. ISBN 978-0-596-00761-4.
  2. Harvey M. Deitel; Paul J. Deitel (2007). C. Corso completo di programmazione (in Italian). translator I. Scagnetto. Apogeo Editore. p. 537. ISBN 978-88-503-2633-4.
  3. David Abrahams and Aleksey Gurtovoy (2005). C++ Template Metaprogramming: Concepts, Tools, and Techniques from Boost and Beyond. Addison-Wesley. p. 155. ISBN 978-0-321-22725-6.
  4. Mark S. Joshi (2008). C++ Design Patterns and Derivatives Pricing. Cambridge University Press. p. 263. ISBN 978-0-521-72162-2.
  5. Marshall Cline (2006). "35: How does the C++ keyword export help with template linker errors?". C++ FAQ Lite. Archived from the original on 2008-12-16. Retrieved 2007-11-29.
  6. Stanley B. Lippman (1997). C++ Gems. Cambridge University Press. pp. x. ISBN 978-0-13-570581-0.


This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.