<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="en">
<head>
	<meta http-equiv="Content-Language" content="en-us">
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
	<title>CDT overview</title>
	<link rel="stylesheet" type="text/css" href="../help.css">
</head>
<body>
<div role="main">
<h1>CDT Overview</h1>
<p>The C/C++ Development Toolkit (CDT) is a set of Eclipse plug-ins that provide 
C and C++ extensions to the Eclipse workbench. For more information about 
Eclipse, see <strong>Workbench User Guide &gt; Concepts &gt; Workbench</strong>.</p>

<p>The full CDT provides a C/C++ IDE that simplifies many of the same tools that you can use from the command line.  The CDT can also communicate with many external utilities and interpret their responses, for example:
<ul>
  <li>Build (such as make).</li>
  <li>Compile (such as gcc). For more information, see  <a href="http://gcc.gnu.org">http://gcc.gnu.org</a>.</li>
  <li>Debug (such as gdb). For more information, see  <a href="http://sources.redhat.com/gdb/">http://sources.redhat.com/gdb/</a>.</li>
</ul>
<strong>Note: </strong> while make, gcc and gdb are the examples used in the documentation, virtually any similar set of tools or utilities could be used.</p>

<p>The Stand-alone Debugger application is built from various Eclipse plug-ins from the CDT pertaining to Debug and Edit.  Plug-ins associated
with Build and Compile are not included.  Though it is possible to edit files within the Stand-alone Debugger, any changes
will require a rebuild which will have to be performed outside of the Debugger.  If you want a full C/C++ IDE, then it is suggested to use the full CDT
instead which incorporates the C/C++ Debugger within it.</p>

<!-- 
<p>The Stand-alone Debugger opens in the Debug perspective of the Eclipse workbench. The 
C/C++ perspective consists of an editor and the following 
views:</p>
<dl>
	<dt>Project Explorer</dt><dd>Shows all of the file system's files under your workspace directory.</dd>
	<dt>Console</dt><dd>Displays your program's output, as well as the output from your build and external tool chain.</dd>
	<dt>Editor</dt><dd>The C/C++ editor view provides specialized features for editing C/C++ related files.</dd>
	<dt>Make Targets</dt><dd>Enables you to select the make targets you want to build in your workspace.</dd>
	<dt>Outline</dt><dd>Displays the structure of the file currently open in an editor.</dd>
	<dt>Problems View</dt><dd>If you encounter any errors during a build they will be displayed in the Problems view.</dd>
	<dt>Properties</dt><dd>Shows the attributes of the item currently selected in a view or an editor.</dd>
	<dt>Search</dt><dd>Shows the results of searches for files or text.</dd>
	<dt>Tasks</dt>	<dd>Lists tasks that you want to keep track of, either as a schedule of things 	to do or a history of things that have been done.</dd>
</dl>
<p>For more information, see <strong>Workbench User Guide &gt; Concepts &gt; Perspectives</strong>.</p>

<h2>CDT updates</h2>

<p>The <strong>Install/Update</strong> wizard provides information about your current Eclipse installation and provides the framework to manage your updates. 
For more information, see <strong>Workbench User Guide &gt; Tasks &gt; Updating and installing software</strong>.</p>

<p>To view a list of the updates available for the toolsets that you 
installed, click <strong>Help &gt; Check for Updates</strong>.</p>
-->

<h3>Additional information</h3>

<p>For more information on the Eclipse CDT project, 
refer to <a href="http://www.eclipse.org/cdt/">http://www.eclipse.org/cdt/</a>:
</p>

<ul>
<li><a href="news://news.eclipse.org/eclipse.tools.cdt" target="_top">CDT newsgroup</a>:
The place to ask questions about how to use the CDT.</li>
<li><a href="http://wiki.eclipse.org/index.php/CDT/User/FAQ">User FAQ</a>: 
Provides answers to the most common questions about using the CDT.</li>
<li><a href="http://wiki.eclipse.org/index.php/CDT">CDT Wiki</a>: 
This is the main source for information around CDT.</li>

</ul>



<h3>License</h3>
<p>The CDT is an open source project and is licensed under the <a href="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License</a>.

<!--
<p>
<img src="../images/ngconcepts.gif" ALT="Related concepts" width="143" height="21">
<br>
<a href="../getting_started/cdt_w_existing_code.htm">Working with existing code</a><br>
<a href="cdt_c_whatsnew.htm">What's new</a></p>
-->

<p><img src="../images/ngref.gif" ALT="Related reference" width="143" height="21">
<br>
<a href="../reference/cdt_o_views.htm">Views</a></p>

<img src="../images/ng00_07.gif" ALT="IBM Copyright Statement" >
</div>
</body>

</html>