addresses assigned, although symbols defined in other modules, such as
external variables, do not.
- In the last compilation stage, linking, the GNU C compiler ties together
different files and libraries and then links the files by resolving the
symbols that had not previously been resolved.
NOTE
Most C programs compile with a C++ compiler if you follow strict ANSI
rules. For example, you can compile the standard hello.c program
(everyone’s first program) with the GNU C++ compiler. Typically, you
name the file something like hello.cc, hello.C, hello.c++, or
hello.cxx. The GNU C++ compiler accepts any of these names.
Graphical Development Tools
This section branches out into information that more obviously applies to
other languages. For example, Java is in widespread use, and you can develop
in Java from Ubuntu.
Ubuntu has a number of graphical prototyping and development
environments available. If you want to build client software for KDE or
GNOME, you might find the KDevelop, Qt Designer, and Glade programs
extremely helpful. You can use each of these programs to build graphical
frameworks for interactive windowing clients, and you can use each of them
to automatically generate the necessary skeleton of code needed to support a
custom interface for your program. If you want to program in Java using your
favorite integrated development environment (IDE) or a language with a
standard software development kit (SDK), you can do that, too.
Using the KDevelop Client
You can launch the KDevelop client (shown in Figure 40.1) from the
applications menu or from the command line of a terminal window, like this:
Click here to view code image
matthew@seymour:~$ kdevelop &
After you press Enter, the KDevelop Setup Wizard runs, and you are taken
through several short wizard dialogs that set up and ensure a stable build
environment. You must then run kdevelop again (either from the command
line or by clicking its menu item under the desktop panel’s Programming
menu). You then see the main KDevelop window and can start your project