Linux development tools, part 1
- Support for MMX, 3DNow!, SSE, and SSE2 instructions. Enable these with the -mmmx, -m3dnow, -msse, and -msse2 options.
- Intel C++ compatible MMX/3DNow!/SSE intrinsics are implemented.
- Targets were added for Intel Pentium® MMX, Pentium III, and Pentium 4 processors.
- For those targets that support it, -mfpmath=sse causes the compiler to generate SSE/SSE2 instructions for floating point math instead of x87 instructions. Usually, this will lead to quicker code, especially on the Pentium 4 processor. Note that only scalar floating point instructions are used and GCC does not exploit SIMD features yet.
- Prefetch support has been added to the Pentium III and Pentium 4 processors.
- Code generated for floating-point-to-integer-conversions has been improved, leading to better performance of many 3D applications.
- By default, gcc compiles code for the machine it is installed on. This is a configurable option, and different gcc configurations for various target machines can exist side-by-side.
$ gcc -o executable-name optimizations sourcefile.c
A typical Hello World example:
$ gcc -o hello -Wall -march=i686 -ggdb -O2 hello.c
- -Wall means display the most useful warnings
- -march=i686 optimizes for Intel 686 CPU
- -ggdb adds debugging information that gdb, the GNU debugger, can read
- -O2 optimizes code size and increases execution speed. (Choices are O1-O3)
There are many compiler options, and here are some of the more commonly used ones:
-c = compile or assemble but do not link
-S = stop after compilation, do not assemble
-E = stop after preprocessing, do not compile
-fsyntax-only = check for syntax errors
-pedantic = issue all the warnings demanded by strict ISO C and ISO C++
-static = link against static libraries. The default is shared libraries.
![]()
Subscribers who liked this article also read:
![]() | Deploying Oracle9i Real Application Clusters on Intel® architecture-based clusters Information storage and retrieval lies at the heart of almost all core... |
If you're interested in this topic, these articles may be helpful:
![]() | 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... |
![]() | Intel® Fortran Compiler 9 for Linux Deliver outstanding performance on single and multiprocessor computers... |
![]() | 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:
![]() | Builder #134140 - WA - Redmond - Microsoft Corporation Come and change the way the world communicates! The Real-Time Collabor... |
![]() | Builder #151464 - WA - Redmond - Microsoft Corporation The Jamaica Team is looking for an experienced Build Engineer. This po... |
![]() | R&D Engineer, Sr II #5728 - CA - Mountain View - Synopsys, Inc. US01-Mountain View - R&D Engineering ----------------------------... |
![]() | Sr. Systems Analyst #472 - MD - Rockville - Management Systems Designers, Inc. MSD is an employee-owned company of over 600 professionals who support... |
![]() | Software Development Engineer in Test #139236 - WA - Redmond - Microsoft Corporation Do you want to be a part of the team creating the next version of the ... |
![]() | Software Development Engineer #138696 - WA - Redmond - Microsoft Corporation We need a cooperative team player who can work closely with their mana... |
![]() | R&D Engineer, Sr II #5677 - CA - Mountain View - Synopsys, Inc. ReqCode: 5677 Position: R&D Engineer, Sr II Location: US01-Mountain ... |
![]() | CAE, Sr I #5747 - CA - Sunnyvale - Synopsys, Inc. US02-Sunnyvale - Corp Applications Engineering ------------------... |
![]() | Builder #150329 - WA - Redmond - Microsoft Corporation Do you want to play a critical role in producing the next generation o... |
![]() | Software Eng - Applications II #13289 - IL - Libertyville - Radiant Systems, Inc Develop, create, and modify general computer applications software or ... |

