<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Software Development on MeerStory</title><link>https://linux.meerstory.com/categories/software-development/</link><description>Recent content in Software Development on MeerStory</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Thu, 15 Oct 2026 02:47:04 +0900</lastBuildDate><atom:link href="https://linux.meerstory.com/categories/software-development/index.xml" rel="self" type="application/rss+xml"/><item><title>Linux c++ Command Explained: g++ Differences &amp; Compilation Guide</title><link>https://linux.meerstory.com/ubuntu/20261015_024607_80/</link><pubDate>Thu, 15 Oct 2026 02:47:04 +0900</pubDate><guid>https://linux.meerstory.com/ubuntu/20261015_024607_80/</guid><description>&lt;h2 id="overview">Overview&lt;/h2>
&lt;p>Whenever you invoke &lt;code>c++&lt;/code> directly in a Linux shell, what binary actually handles the compilation behind the scenes? This guide breaks down how the generic &lt;code>c++&lt;/code> wrapper operates within the operating system, unpacks its direct link to &lt;code>g++&lt;/code>, and walks you through real-world compilation routines and standard configurations.&lt;/p>
&lt;h2 id="provisioning-the-c-toolchain-and-inspecting-compiler-versions">Provisioning the C++ Toolchain and Inspecting Compiler Versions&lt;/h2>
&lt;p>To prepare an Ubuntu workstation for C++ development, fetch the foundational GNU compiler collection and toolchain packages by running &lt;code>apt-get update -qq &amp;amp;&amp;amp; apt-get install -y build-essential&lt;/code>.&lt;/p></description></item><item><title>Mastering Linux ar: Static Library Creation &amp; Best Practices</title><link>https://linux.meerstory.com/ubuntu/20261012_015617_47/</link><pubDate>Mon, 12 Oct 2026 01:57:07 +0900</pubDate><guid>https://linux.meerstory.com/ubuntu/20261012_015617_47/</guid><description>&lt;h2 id="overview">Overview&lt;/h2>
&lt;p>In modern C and C++ software engineering on Unix-like platforms, packaging compiled object files into static archives (&lt;code>.a&lt;/code>) is a foundational build technique. The GNU &lt;code>ar&lt;/code> utility stands as the core tool for this process. This hands-on tutorial walks through the end-to-end lifecycle of static library management: initializing workspaces, bundling relocatable binaries, inspecting symbol indexes, extracting specific modules, and addressing common linker pitfalls encountered in production environments.&lt;/p>
&lt;h2 id="setting-up-the-toolchain-and-compiling-object-files-o">Setting Up the Toolchain and Compiling Object Files (.o)&lt;/h2>
&lt;p>Before creating an archive, ensure the system possesses the required GNU build utilities and compilation toolchain. Install both &lt;code>binutils&lt;/code> (which supplies &lt;code>ar&lt;/code>) and &lt;code>gcc&lt;/code> by executing &lt;code>apt-get update -qq &amp;amp;&amp;amp; apt-get install -y binutils gcc&lt;/code>.&lt;/p></description></item><item><title>Pinpointing Linux Segmentation Faults</title><link>https://linux.meerstory.com/ubuntu/20261011_014110_34/</link><pubDate>Sun, 11 Oct 2026 01:42:13 +0900</pubDate><guid>https://linux.meerstory.com/ubuntu/20261011_014110_34/</guid><description>&lt;h2 id="overview">Overview&lt;/h2>
&lt;p>Staring at a raw hex memory address after an unexpected segmentation fault or core dump rarely reveals what actually went wrong. Fortunately, the GNU toolchain provides &lt;code>addr2line&lt;/code>, a high-efficiency utility that bridges the gap between binary virtual addresses and the exact filenames and line numbers within your source tree. This hands-on walkthrough demonstrates the practical workflow of crash diagnostics—ranging from compiling binaries with debug symbols (&lt;code>-g&lt;/code>) to demangling complex C++ symbol signatures (&lt;code>-C&lt;/code>) and unrolling optimized inline execution stacks (&lt;code>-i&lt;/code>).&lt;/p></description></item></channel></rss>