Eclipse CDT: Reshaping the C/C++ Tools Market

If Eclipse Foundation executive director Mike Milinkovich has said it once, he's said it a thousand times (to us, anyway): Eclipse is not just about Java. Maybe the recently announced fourth release of the foundation's C/C++ Development Tools (CDT) project—a project that has been under way and widely supported since 2002—will finally get that message across.

The CDT 3.0 platform for building C/C++ development tools, now available under the Common Public License, is designed to deliver improved scalability, performance and extensibility to developers targeting embedded systems and Linux environments. It has been adopted as the C/C++ tools platform by a number of embedded and Linux vendors, including IBM, Intel, MontaVista, Novell SUSE, PalmSource, QNX, Tensilica, Texas Instruments and TimeSys.

In a way, the CDT project actually predates the Eclipse Foundation. QNX Software Systems, a provider of real-time operating system software, development tools, and services for embedded design, has been working on it since late 2000; the Foundation wasn't launched until November 2001.

"We didn't have an IDE of our own," says Sebastien Marineau, QNX director of operating systems development, and project lead for the Eclipse CDT Project. "We relied on partners. Eclipse provided us with the ability to come out with an IDE for QNX, to be in control of our destiny, and, because a lot of the infrastructure is part of Eclipse, to develop some advanced tools with less effort than would have been possible in the past with a homegrown, proprietary IDE."

Marineau expects Eclipse to impact the C/C++ tools market in much the way it has the market for Java tools: freeing toolmakers from the need to reinvent basic functionality with each release, while forcing them to innovate up that stack. The CDT is likely to be especially market-changing in the embedded development space, he says.

"The embedded space has traditionally had a very fragmented tools market," he says. "But in the last three years the landscape for embedded tools has changed dramatically. Eclipse has allowed us to agree to work together on a common infrastructure, and that has freed up resources so we can all focus on specialized tools that will add value for our customers."

The CDT is also likely to affect Linux development, where development tools have been less than stellar. Marineau points to the number of Linux vendors who are now shipping or planning to ship commercial products based in the CDT.

The CDT Project provides a functional and extensible C and C++ IDE for the Eclipse platform. New features in the 3.0 version include:

  • Improved C/C++ parser performance and speed
  • A more powerful language model in the form of a document object model, making everything from the C/C++ outliner to searching and refactoring more accessible to plug-in developers
  • Source indexers that are now pluggable components, allowing users to select from no indexing, CTags utility-based indexing and CDT parser-based indexing
  • Enhanced managed build system configuration, which offers full control over the output artifact and extension, pre- and post-build command execution, and per-project and configuration environment variable settings
  • Build environment control, allowing developers to fully configure environmental variables when launching external build commands. (The settings are configurable through the standard make and managed build C/C++ project properties, or can be set when creating new projects from the new C/C++ project wizard.)
  • Increased support for tool integrators: The managed build system is designed to deliver better support for those who extend CDT, including ISVs and OEMs.

For more information on CDT Project downloads, go to:

About the Author

John K. Waters is a freelance writer based in Silicon Valley. He can be reached at [email protected].