<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Разработка on MeerStory</title><link>https://linux.meerstory.com/ru/categories/%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0/</link><description>Recent content in Разработка on MeerStory</description><generator>Hugo</generator><language>ru-ru</language><lastBuildDate>Fri, 16 Oct 2026 01:11:25 +0900</lastBuildDate><atom:link href="https://linux.meerstory.com/ru/categories/%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0/index.xml" rel="self" type="application/rss+xml"/><item><title>Деманглинг символов C++ в Linux: руководство по c++filt</title><link>https://linux.meerstory.com/ru/ubuntu/20261016_011001_81/</link><pubDate>Fri, 16 Oct 2026 01:11:25 +0900</pubDate><guid>https://linux.meerstory.com/ru/ubuntu/20261016_011001_81/</guid><description>&lt;h2 id="введение-в-проблему-искажения-имен-name-mangling">Введение в проблему искажения имен (Name Mangling)&lt;/h2>
&lt;p>Исследуя скомпилированные ELF-бинарники или разбирая трассировки стека в Linux, инженеры регулярно наталкиваются на криптические текстовые конструкции. Данные строки — результат работы алгоритма name mangling, применяемого транслятором C++ для поддержки полиморфизма, перегрузки функций и иерархий пространств имен. Ниже подробно разобран механизм восстановления исходных определений с помощью стандартной утилиты &lt;code>c++filt&lt;/code>, а также ее интеграция в повседневные задачи отладки.&lt;/p>
&lt;h2 id="установка-пакета-binutils-и-базовый-деманглинг-одиночных-идентификаторов">Установка пакета binutils и базовый деманглинг одиночных идентификаторов&lt;/h2>
&lt;p>Для развертывания утилиты &lt;code>c++filt&lt;/code> в дистрибутивах на базе Debian/Ubuntu достаточно инсталлировать базовый набор бинарных инструментов командой &lt;code>apt-get update -qq &amp;amp;&amp;amp; apt-get install -y binutils&lt;/code>.&lt;/p></description></item><item><title>Команда c++ в Linux: отличие от g++ и сборка проектов</title><link>https://linux.meerstory.com/ru/ubuntu/20261015_024607_80/</link><pubDate>Thu, 15 Oct 2026 02:47:04 +0900</pubDate><guid>https://linux.meerstory.com/ru/ubuntu/20261015_024607_80/</guid><description>&lt;h2 id="введение">Введение&lt;/h2>
&lt;p>В терминале дистрибутивов семейства Linux нередко встречается утилита &lt;code>c++&lt;/code>, чье предназначение и внутренние механизмы вызывают вопросы у начинающих разработчиков. В данном материале мы разберем архитектурную взаимосвязь между &lt;code>c++&lt;/code> и &lt;code>g++&lt;/code>, а также на наглядных примерах освоим компиляцию и выполнение программного кода в операционной системе.&lt;/p>
&lt;h2 id="подготовка-рабочего-окружения-и-вызов-компилятора-c">Подготовка рабочего окружения и вызов компилятора c++&lt;/h2>
&lt;p>Для сборки проектов на C++ в среде Ubuntu требуется базовый стек утилит разработчика, который разворачивается командой &lt;code>apt-get update -qq &amp;amp;&amp;amp; apt-get install -y build-essential&lt;/code>.&lt;/p></description></item><item><title>GNU as в Ubuntu: ассемблирование кода и примеры</title><link>https://linux.meerstory.com/ru/ubuntu/20261012_022707_50/</link><pubDate>Mon, 12 Oct 2026 02:28:04 +0900</pubDate><guid>https://linux.meerstory.com/ru/ubuntu/20261012_022707_50/</guid><description>&lt;h2 id="введение">Введение&lt;/h2>
&lt;p>Утилита &lt;code>as&lt;/code>, входящая в набор инструментов GNU Assembler, выступает базовым звеном при сборке низкоуровневых программ в Linux. В данном руководстве подробно рассматривается весь рабочий цикл: от развертывания инструментария компиляции до генерации объектных файлов, их компоновки с помощью линковщика и проверки кода возврата исполняемого бинарника.&lt;/p>
&lt;h2 id="1-подготовка-окружения-и-аудит-возможностей-gnu-as">1. Подготовка окружения и аудит возможностей GNU as&lt;/h2>
&lt;p>Для трансляции ассемблерного кода понадобятся ключевые системные утилиты из состава &lt;code>binutils&lt;/code>, а также метапакет &lt;code>gcc&lt;/code>. Установим их через пакетный менеджер:&lt;/p></description></item></channel></rss>