Language Selection

English French German Italian Portuguese Spanish

Getting Familiar with GCC Parameters

Filed under
HowTos

gcc (GNU C Compiler) is actually a collection of frontend tools that does compilation, assembly, and linking. The goal is to produce a ready-to-run executable in a format acceptable to the OS. For Linux, this is ELF (Executable and Linking Format) on x86 (32-bit and 64-bit). But do you know what some of the gcc parameters can do for you? If you're looking for ways to optimize the resulted binary, prepare for a debugging session, or simply observe the steps gcc takes to turn your source code into an executable, getting familiar with these parameters is a must. So, please read on.

Recall that gcc does multiple steps, not just one. Here is a brief explanation of their meaning:

* Preprocessing: Producing code that no longer contains directives. Things like "#if" cannot be understood directly by the compiler, so this must be translated into real code. Macros are also expanded at this stage, making the resulting code larger than the original. [1]

* Compilation:

Full Story.

More in Tux Machines

No one should have to use proprietary software to communicate with their government

The Free Software Foundation (FSF) submitted a comment to the U.S. Copyright Office calling for a method to submit comments that do not require the use of proprietary JavaScript. Proprietary JavaScript is a threat to all users on the Web. When minified, the code can hide all sorts of nasty items, like spyware and other security risks. Savvy users can protect themselves by blocking scripts in their browser, or by installing the LibreJS browser extension and avoiding sites that require proprietary JavaScript in order to function. But some sites are harder to avoid than others. This is particularly the case when the site is required for citizens to communicate or interact with their own government. If no free alternative means are provided, then users can be blocked from participating in the democratic process. Read more

IPFire 2.19 - Core Update 102 released

This is the official release announcement for IPFire 2.19 – Core Update 102. This update contains various security fixes in the OpenSSL library. It is recommended to install this update as soon as possible. Read more

Kernel Graphics

Intel Graphics Performance: Clear Linux vs. Xubuntu 16.04 LTS vs. Fedora 23 Xfce

With recent benchmarks showing Intel's Clear Linux distribution even being faster for Intel HD Graphics performance compared to other more common distributions like Ubuntu 16.04, I decided to run some more tests and also test Fedora 23 Xfce into the mix. Read more