Debugging C Programs with GDB

When a C program compiles without errors or warnings using gcc but produces incorrect output or crashes (e.g., segmentation fault), the GNU Debugger (gdb) becomes essential for identifying the root cause. Similar to debug modes in IDEs like Keil, gdb alllows setting breakpoints and inspecting variable values during execution to isolate bugs. Co ...

Posted on Fri, 07 Aug 2026 17:00:04 +0000 by Chiaki

Upgrading GCC from Source Code on Linux Systems

When working with older Linux distributions, you may encounter situations where your project requires a more recent version of GCC than what's available in the system repositories. This guide demonstrates how to compile and install a newer GCC version from source code. The compilation process requires several prerequisite librareis. We'll buil ...

Posted on Sat, 18 Jul 2026 16:37:07 +0000 by bapan

Understanding the GCC Compiler Pipeline and Core Characteristics

The GNU Compiler Collection, commonly referred to as GCC, originated in 1987 as part of Richard Stallman's GNU project. Its primary objective was to develop an efficient C compiler for GNU/Linux systems. What began as a specialized tool for C language compilation has evolved into a comprehensive compiler suite supporting numerous programming la ...

Posted on Thu, 09 Jul 2026 17:32:34 +0000 by -entropyman

Static and Shared Libraries in Linux Development

Library Files Libraries are collections of precompiled methods that provide ready-to-use variables, functions, or classes. They exist as files on a computer system. Linux supports two types of libraries: static libraries (with .a extension) and shared libraries (with .so extension). The naming convention follows lib[name].a for static libraries ...

Posted on Thu, 09 Jul 2026 16:08:15 +0000 by quintus

Using OpenMP with GCC

OpenMP is a programming standard for shared-memory parallel systems, proposed by the OpenMP Architecture Review Board (ARB). Its not a new language but a compilation directive extension to base languages, supporting C/C++. Since OpenMP supports different languages, specifics may vary. OpenMP defines directives, runtime libraries, and environmen ...

Posted on Sun, 28 Jun 2026 16:23:00 +0000 by goldfiles