Skip to main content
summaryrefslogtreecommitdiffstats
blob: 915c47f13f10e51e1120f7836e89139f3fea9abd (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.ord/TR/html4/loose.dtd">
<html>

<head>

<title>IDE Concepts</title>

</head>
<body bgcolor="#ffffff" text="#000000">
<hr>


<h1><a name="id1">IDE Concepts</a></h1>





<p>

This chapter introduces a number of terms and concepts that are used throughout this 
guide and the core Eclipse documentation.</p>
<p>Related information:</p>
<ul>
<li>the <cite>Workbench User Guide</cite>: <b>Concepts</b> in the Eclipse documentation</li>
</ul>
<p></p>
In this chapter:
<ul>
<li><a href="#work">Workbench</a>
	</li>
<li><a href="#pers">Perspectives</a>
	</li>
<li><a href="#edit">Editors and views</a>
	</li>
<li><a href="#proj">Projects and workspace</a>
	</li>
<li><a href="#host">Host and target machines</a>
	</li>
<li><a href="#targ">Target agent and the <tt>qconn</tt> daemon</a>
	</li>
<li><a href="#laun">Launcher</a>
	</li>
<li><a href="#reso">Resources</a>
	</li>
<li><a href="#wiza">Wizards</a></li>
</ul>

<h1><a name="work">Workbench</a></h1>

<p>The <i>workbench</i> is the window that appears when you run the IDE. It includes:</p>
<ul>
<li>views
   </li>
<li>editors
   </li>
<li>the main menu
   </li>
<li>the control bars.</li>
</ul>
<p></p>
<p></p>

<hr>
<p><img src="./images/first_look.jpg" alt="IDE Concepts; workbench with C/C++ Development perspective"></p>
<hr>


<p><i>Major components of the IDE workbench.</i></p>
<pre>

</pre>



<hr>
<table>
<tr><td valign="top"><img src="image-lib/pointing.gif" alt="Note:"></td>
<td>Eclipse is written in JAVA and is interpreted by a Java Virtual Machine (JVM) 
that's specific to the host OS. So, whether you run Eclipse on Windows, 
QNX Neutrino, or Solaris, you're running the same code. However, you might 
notice some differences in the user interface.</td></tr>
</table>
<hr>


<p>The CDT provides a graphical development environment for C and C++
developers.  The CDT works in a complimentary manner with many of the
same tools that you use on the command line. The CDT communicates with 
and interprets messages from many utilities, including:</p>
<ul>
<li><tt>make</tt></a> 
(which drives compilers such as <tt>gcc</tt></a>)
   </li>
<li><tt>gdb</tt></a>
   </li>
<li><tt>ctags</tt></a></li>
</ul>


</p>

<h1><a name="pers">Perspectives</a></h1>

<p>A <i>perspective</i> is a task-oriented configuration of the workbench window.</p>
<p>

For example, if you're debugging, you use the preconfigured <b>Debug</b> 
perspective. This perspective sets up the IDE to show all the tools related to 
debugging, but doesn't show the elements and tools related to profiling, for example.
You can customize a perspective by adding and removing views.<p>

Perspectives generally consist of these components:</p>
<ul>
<li>toolbars
   </li>
<li>editors
   </li>
<li>views</li>
</ul>

<h1><a name="edit">Editors and views</a></h1>

<p>

<i>Editors</i> are what you use to change the content of your files. Each editor 
in the IDE is for a specific set of files. The editor that you'll likely use 
the most for C and C++ development is the <b>C/C++ Editor</b>.</p>
<p>

<i>Views</i> take information and organize it in various convenient ways. 
For example, the <b>Outline</b> view shows you a list of all the function 
names when you're editing a C file in the <b>C/C++ Editor</b>. 
The <b>Outline</b> view is dynamic; if you declare a function called <i>mynewfunc()</i>, the <b>Outline</b> view immediately lists it, even if you haven't saved the file yet.</p>
<p>Views provide:</p>
<ul>
<li>insight into editor contents (e.g. <b>Outline</b> view)
   </li>
<li>navigation (e.g. <b>Navigator</b> view)
   </li>
<li>information (e.g. <b>Tasks</b> view)
   </li>
<li>control (e.g. <b>Debug</b> view).</li>
</ul>
<p></p>
<p>

Different views may show you different interpretations of the same 
information. For example, the <b>Navigator</b> view shows all 
your projects; the <b>C/C++ Projects</b> view shows just the 
C and C++ projects you have open.</p>
<p>

The <i>editor area</i> is a section of the workbench window reserved for editors. All the editors live together in the editor area; all the views can be anywhere except in the editor area.</p>
<p>

The IDE lets you rearrange views and editors so they're beside each other (tiled) or stacked on top of each other (tabbed), among other possibilities.</p>
<p>

To see how dynamic the interface is, see the <cite>Perspectives, Views, and Editors</cite> movie.

</p>

<h1><a name="proj">Projects and workspace</a></h1>

<p><i>Projects</i> are generic containers for your source code, makefiles, 
and binaries. Before you do any work in the IDE, you must create projects to 
store your work. Developers using the CDT will most ofent work with <b>C Project</b>.</p>
<p>Projects can be open or closed. If they're closed, you can't access them.</p>
<p>When you create a file within a project, the IDE also creates a record 
(local history) of every time you changed that file and how you changed it.</p>
<p>

Your <i>workspace</i> is where you keep your projects. For the exact location of your workspace, see the appendix <a href="file.html">Where Files Are Stored</a>.</p>
<p></p>

<hr>
<table>
<tr><td valign="top"><img src="image-lib/pointing.gif" alt="Note:"></td>
<td>Don't use spaces in projects and filenames; they can cause problems with some tools, such as the <tt>make</tt> utility.
<p>Also, don't use case alone to distinguish files and projects; Unix-based OS filenames are case-sensitive, but Windows filenames aren't. Thus, <tt>Hello.c</tt> and <tt>hello.c</tt> overwrite each other in Windows, but are separate files elsewhere. </p></td></tr>
</table>
<hr>



<h2><a name="id7">How the IDE looks at projects</a></h2>

<p>The IDE associates projects with <i>natures</i>, tags that tell the IDE about the properties of each project. 

</p>
<p>The IDE doesn't support nested projects; each project must be organized as a discrete entity. The IDE does support project dependencies by allowing a project to reference other projects that reside in your workspace. </p>
<p>

The most common projects look like this to the IDE:</p>
<table border=1 width="100%">

<tr>
<th>Project		</th>
<th>Associated natures</th>
</tr>
<tr>
<td><b>Simple Project</b>	</td>
<td>&nbsp;</td>
</tr>
<tr>
<td><b>Standard Make C Application Project</b>	 	</td>
<td>C</td>
</tr>
<tr>
<td><b>Standard Make C++ Application Project</b>	 	</td>
<td>C, C++</td>
</tr>
</table>

<p>The natures tell the IDE what can and can't be done with each project. The IDE also uses the natures to filter out projects that would be contextually irrelevant (e.g. nonlibrary projects from a list of library projects).</p>
<p>

In this guide, you'll see mixed references such as:</p>
<ul>
<li><b>QNX C/C++ Applications</b>  --  refers to both <b>QNX C Application Projects</b> and <b>QNX C++ Application Projects</b>.
	</li>
<li><b>QNX Library Projects</b>  --  refers to both <b>QNX C Library Projects</b> and <b>QNX C++ Library Projects</b>.</li>
</ul>
<p>The IDE saves these natures and other information in <tt>.project</tt> and <tt>.cdtproject</tt> files in each project. To ensure the natures persist in CVS, include these files when you commit your project.



</p>

<h1><a name="laun">Launcher</a></h1>

<p>Before you run any program, you must use the launcher to specify what 
program to run, what arguments to pass to the program, and so on. </p>
<p>

If you want to run the program with different you can either modify
an existing launch configuration or create a new <b>Launch Configuration</b>. 
Once you save the <b>Launch Configuration</b>, you can quickly rerun 
each configuration.

</p>

<h1><a name="reso">Resources</a></h1>

<p><i>Resources</i> is a collective term for projects, folders, and files that exist in the workbench. You store all your resources in your workspace.</p>

<h1><a name="wiza">Wizards</a></h1>

<p><i>Wizards</i> guide you through a sequenced set of tasks. For example, to create a <b>QNX C Application Project</b>, you run a wizard that takes you through all the steps and gathers all the necessary information before creating the project. For more information, see the <a href="cwiz.html">Common Wizards</a> chapter.</p>
<p>



</p>


</body>

</html>

<!--
/**********************************************************************
 * Copyright (c) 2002,2003 QNX Software Systems Ltd. and others.
 * All rights reserved.   This program and the accompanying materials
 * are made available under the terms of the Common Public License v0.5
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/cpl-v05.html
 * 
 * Contributors: 
 * QNX Software Systems - Initial API and implementation
***********************************************************************/
-->

Back to the top