Welcome to the Intel® Software Dispatch Subscription Program

Linux development tools, part 1
Linux Development Tools: The GNU Free Software Foundation created and maintains the GNU Compiler Collection. GCC can compile programs written in C, C++, Objective-C, Fortran, and Java.

by Carla Schroder. Intel Corp.

The GNU Free Software Foundation created and maintains the GNU Compiler Collection. GCC can compile programs written in C, C++, Objective-C, Fortran, and Java. One compiler, many uses. Front-ends for other languages exist, but have not been integrated into GCC. But it is endlessly adaptable, so you can write your own if you need something in particular. GCC is designed for the widest range of cross-platform development—Intel®, Alpha, Sun, Apple, and so forth—from 64-bit to embedded devices.

The GNU Compiler Collection
GCC gives the programmer extensive control over the compilation process: stop at any stage and inspect compiler output. The GNU (pronounced guh-NEW) debugger, gdb, gives fine-grained control over the level and type of debugging information for every language supported by GCC, including the assembly language for every microprocessor that GCC supports. It even supports remote debugging. The make command controls most aspects of the development process: compilating, installating, and even documenting.

Every version of Linux includes GCC. There is no graphical interface for GCC. Fear not, for true power lies in the command line, and abundant documentation exists for it. Anytime you want to know more about anything in this article, call up its corresponding info or man page (example: info gcc, or man gcc). The GNU foundation keeps its most current documentation on info pages, and no longer updates its man pages. If you are not familiar with info pages, take five minutes to go through the built-in tutorial. Once you become familiar with it, navigating large complex documents is fast and easy. Simply type info at the prompt, then the letter h to get into the help system.

The current release is 3.1. Generally it is best to have the current version since significant improvements are made with each release. 3.1 generates significantly faster code than previous versions. gcc's traditional strengths are flexibility and cross-platform capabilities. In most benchmarks it lagged behind other, more specialized compilers, such as Intel's Linux C++ compiler—until version 3.1. (The gcc developers use the SPEC2000 and SPEC95 benchmark suites for testing.) The x86 back end has a number of significant improvements:

If you're interested in this topic, these articles may be helpful:

Intel® Fortran Compiler 9 for Linux
Deliver outstanding performance on single and multiprocessor computers...
Linux Unwired
by Roger Weeks, Edd Dumbill and Brian Jepson, O'Reilly This O'Reill...
IBM Rational Rose — Linux/Unix
IBM Rational Rose for UNIX and Linux has been replaced by IBM Rational...
Intel® C++ Compiler 8.1 for Linux
Gain optimal performance from your Linux applications running on the l...
Using Intel C++ Compiler 8.0 with the Eclipse Integrated Development Environment on Linux systems
Intel Corp. The Eclipse Project is an open-source software-developm...

Related Jobs:

R&D Engineer, Sr II #5918 - CA - Sunnyvale - Synopsys, Inc.
US02-Sunnyvale - R&D Engineering --------------------------------...
Builder #150329 - WA - Redmond - Microsoft Corporation
Do you want to play a critical role in producing the next generation o...
R&D Engineer, Sr II #5749 - CA - Mountain View - Synopsys, Inc.
US01-Mountain View - R&D Engineering ----------------------------...
R&D Engineer, Sr II #5677 - CA - Mountain View - Synopsys, Inc.
ReqCode: 5677 Position: R&D Engineer, Sr II Location: US01-Mountain ...
Builder #151464 - WA - Redmond - Microsoft Corporation
The Jamaica Team is looking for an experienced Build Engineer. This po...
CAE, Sr I #5747 - CA - Sunnyvale - Synopsys, Inc.
US02-Sunnyvale - Corp Applications Engineering ------------------...
Build Management #142543 - WA - Redmond - Microsoft Corporation
Looking for a strong leader for the team at the heart of Microsoft's f...
Software Eng - Applications II #13289 - IL - Libertyville - Radiant Systems, Inc
Develop, create, and modify general computer applications software or ...
Staff R&D Engineer (AMS) #5750 - CA - Mountain View - Synopsys, Inc.
US01-Mountain View - R&D Engineering ----------------------------...
Database Applications Developer #13097 - AZ - Phoenix - Radiant Systems, Inc
The resource will work with the Professional Services software develop...