zhub.link is one of the many independent Mastodon servers you can use to participate in the fediverse.

Administered by:

Server stats:

28
active users

#cmake

1 post1 participant0 posts today
Habr<p>Пишем обертку для сборки OpenSSL на CMake</p><p>Столкнулся я с ситуацией, в которой нужно было собирать OpenSSL под разные операционные системы и архитектуры процессоров. В сумме насчитывается 5 сборок. Главной проблемой сборки OpenSSL выступает система сборки - Autotools , ее сложно интегрировать в CMake. В данной статье рассмотрим как приложив минимальное количество усилий перенести сборку OpenSSL на CMake.</p><p><a href="https://habr.com/ru/articles/887004/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="">habr.com/ru/articles/887004/</span><span class="invisible"></span></a></p><p><a href="https://zhub.link/tags/openssl" class="mention hashtag" rel="tag">#<span>openssl</span></a> <a href="https://zhub.link/tags/cmake" class="mention hashtag" rel="tag">#<span>cmake</span></a> <a href="https://zhub.link/tags/%D1%82%D1%83%D1%82%D0%BE%D1%80%D0%B8%D0%B0%D0%BB" class="mention hashtag" rel="tag">#<span>туториал</span></a></p>
Habr<p>[Перевод] [Перевод] Управление пакетами C ++ с помощью Conan: Введение</p><p>Прим. пер.: Перевод и примеры исправлены, дополнены и адаптированы с учётом современных версий Conan 2, инструментов сборки и библиотек. Автор: Ilyas Hamadouche Управление зависимостями C++ может оказаться непростой задачей. Зачастую разработчику приходится самостоятельно заботиться о загрузке исходных кодов, интеграции готовых к использованию двоичных файлов, сборке, установке и связывании библиотек. В этой статье я расскажу вам о Conan — менеджере пакетов C/C++ с открытым исходным кодом, который отлично справляется с этими задачами. Conan — это бесплатный менеджер пакетов с открытым исходным кодом (MIT), разработанный для C и C++. Он похож на NuGet и npm для .NET и JavaScript соответственно. Он может работать в любой операционной системе, поддерживающей Python. К ним относятся Linux, Mac, а также Windows.</p><p><a href="https://habr.com/ru/articles/884464/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="">habr.com/ru/articles/884464/</span><span class="invisible"></span></a></p><p><a href="https://zhub.link/tags/%D1%81" class="mention hashtag" rel="tag">#<span>с</span></a>++ <a href="https://zhub.link/tags/conan" class="mention hashtag" rel="tag">#<span>conan</span></a> <a href="https://zhub.link/tags/conanio" class="mention hashtag" rel="tag">#<span>conanio</span></a> <a href="https://zhub.link/tags/cmake" class="mention hashtag" rel="tag">#<span>cmake</span></a></p>
Habr<p>История C и C++. Часть 2. Стандартизация C и C++, Qt, Clang, Unreal Engine</p><p>Вторая часть истории о том, как C и C++ стали такими, какими мы их знаем сегодня. Здесь расскажем об официальной сертификации C и C++, а также о вышедших инструментах в период с 1991 года и до наших дней.</p><p><a href="https://habr.com/ru/companies/pvs-studio/articles/883452/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="ellipsis">habr.com/ru/companies/pvs-stud</span><span class="invisible">io/articles/883452/</span></a></p><p><a href="https://zhub.link/tags/C" class="mention hashtag" rel="tag">#<span>C</span></a>++ <a href="https://zhub.link/tags/C" class="mention hashtag" rel="tag">#<span>C</span></a> <a href="https://zhub.link/tags/C" class="mention hashtag" rel="tag">#<span>C</span></a>++11 <a href="https://zhub.link/tags/C" class="mention hashtag" rel="tag">#<span>C</span></a>++17 <a href="https://zhub.link/tags/C" class="mention hashtag" rel="tag">#<span>C</span></a>++23 <a href="https://zhub.link/tags/Qt" class="mention hashtag" rel="tag">#<span>Qt</span></a> <a href="https://zhub.link/tags/Unreal_Engine" class="mention hashtag" rel="tag">#<span>Unreal_Engine</span></a> <a href="https://zhub.link/tags/Clang" class="mention hashtag" rel="tag">#<span>Clang</span></a> <a href="https://zhub.link/tags/CMake" class="mention hashtag" rel="tag">#<span>CMake</span></a> <a href="https://zhub.link/tags/c" class="mention hashtag" rel="tag">#<span>c</span></a>++20</p>
Habr<p>Сборка проектов Си и Си++: от простого к сложному. Часть II. Сборщики</p><p>Продолжаю тему о сборке проектов на Си и Си++, первая часть которой размещена здесь . Рецепты сборки по правилам хорошего тона должны поставляться с проектом и очень желательно, чтобы они не были привязаны к конкретной ОС или хотя бы к конкретному дистрибутиву Linux, используя специфические команды вроде apt-get, yum, emerge. Если это небольшой пет-проект выходного дня, то, конечно, в качестве рецепта сгодится и bash-скрипт. Пользователи адаптируют. Но если к проекту подключаются другие разработчики, то лучше потратить время на автоматизацию сборки, чтобы не терять его оптом в будущем. В этой части речь пойдёт об инструментах, которые используются для автоматизации процесса сборки программного обеспечения.</p><p><a href="https://habr.com/ru/companies/ruvds/articles/875620/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="ellipsis">habr.com/ru/companies/ruvds/ar</span><span class="invisible">ticles/875620/</span></a></p><p><a href="https://zhub.link/tags/ruvds_%D1%81%D1%82%D0%B0%D1%82%D1%8C%D0%B8" class="mention hashtag" rel="tag">#<span>ruvds_статьи</span></a> <a href="https://zhub.link/tags/c" class="mention hashtag" rel="tag">#<span>c</span></a> <a href="https://zhub.link/tags/c" class="mention hashtag" rel="tag">#<span>c</span></a>++ <a href="https://zhub.link/tags/cmake" class="mention hashtag" rel="tag">#<span>cmake</span></a> <a href="https://zhub.link/tags/make" class="mention hashtag" rel="tag">#<span>make</span></a> <a href="https://zhub.link/tags/%D1%81%D0%B1%D0%BE%D1%80%D0%BA%D0%B0_%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B0" class="mention hashtag" rel="tag">#<span>сборка_проекта</span></a> <a href="https://zhub.link/tags/%D1%81%D0%B1%D0%BE%D1%80%D0%BA%D0%B0_%D0%B8%D0%B7_%D0%B8%D1%81%D1%85%D0%BE%D0%B4%D0%BD%D0%B8%D0%BA%D0%BE%D0%B2" class="mention hashtag" rel="tag">#<span>сборка_из_исходников</span></a> <a href="https://zhub.link/tags/%D1%81%D0%B1%D0%BE%D1%80%D0%BA%D0%B0_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC" class="mention hashtag" rel="tag">#<span>сборка_программ</span></a> <a href="https://zhub.link/tags/makefile" class="mention hashtag" rel="tag">#<span>makefile</span></a></p>
Habr<p>Сборка проектов Си и Си++: от простого к сложному. Часть I. Библиотеки</p><p>Каждый раз, в течение многих лет, собирая пилотную версию мизерного проекта или простой утилиты, мне кажется, что уж в этот раз точно обойдусь обычным скриптом для сборки, и никакие сборщики проекта мне не понадобятся. Но суровая реальность приводит меня в чувство уже в течение первых нескольких минут работы. Сначала оказывается, что до невозможности простая программка нуждается в JSON-парсере, HTTP-запросах CURL и прочих библиотеках. А по мере возбуждения хотелок эти все зависимости нарастают как снежный ком. И все мечты быстро скомпилировать страничку кода встречают на каждом шаге всё новые и новые проблемы. Вот сегодня и расскажу о том, какие бывают способы борьбы с зависимостями и сборки проекта из множества файлов на Си++. Заодно те, кто не любят Си++, смогут порадоваться «прелестям» этого процесса. И хоть тема очень важная для программистов, но я обратил внимание, что даже многолетний опыт не гарантирует понимания этих процессов. Но сразу предупреждаю — история длинная даже с учетом всех попыток не убегать на смежные темы.</p><p><a href="https://habr.com/ru/companies/ruvds/articles/871940/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="ellipsis">habr.com/ru/companies/ruvds/ar</span><span class="invisible">ticles/871940/</span></a></p><p><a href="https://zhub.link/tags/ruvds_%D1%81%D1%82%D0%B0%D1%82%D1%8C%D0%B8" class="mention hashtag" rel="tag">#<span>ruvds_статьи</span></a> <a href="https://zhub.link/tags/c" class="mention hashtag" rel="tag">#<span>c</span></a> <a href="https://zhub.link/tags/c" class="mention hashtag" rel="tag">#<span>c</span></a>++ <a href="https://zhub.link/tags/cmake" class="mention hashtag" rel="tag">#<span>cmake</span></a> <a href="https://zhub.link/tags/make" class="mention hashtag" rel="tag">#<span>make</span></a> <a href="https://zhub.link/tags/%D1%81%D0%B1%D0%BE%D1%80%D0%BA%D0%B0_%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B0" class="mention hashtag" rel="tag">#<span>сборка_проекта</span></a> <a href="https://zhub.link/tags/%D1%81%D0%B1%D0%BE%D1%80%D0%BA%D0%B0_%D0%B8%D0%B7_%D0%B8%D1%81%D1%85%D0%BE%D0%B4%D0%BD%D0%B8%D0%BA%D0%BE%D0%B2" class="mention hashtag" rel="tag">#<span>сборка_из_исходников</span></a> <a href="https://zhub.link/tags/%D1%81%D0%B1%D0%BE%D1%80%D0%BA%D0%B0_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC" class="mention hashtag" rel="tag">#<span>сборка_программ</span></a> <a href="https://zhub.link/tags/makefile" class="mention hashtag" rel="tag">#<span>makefile</span></a></p>
Habr<p>Установка Qt на Windows без регистрации и VPN. Часть 1. VisualStudio Community + Conan.io</p><p>До присоединения Qt Group к санкциям, для установки Qt Framework and Tools было достаточно скачать Qt Online Installer, ввести данные учетной записи и выбрать интересующие компоненты в меню. Ныне приходится выбирать из скольких вариантов установки: прибегнуть к помощи одного из пакетных менеджеров или собрать из исходников. У каждого варианта есть свои плюсы и минусы. В этой статье рассмотрим установку через один из наиболее популярных пакетных менеджеров для с++ Conan. Целевая операционная система: Windows 10 Шаг 0. Установка компилятора Скачиваем с официального сайта VisualStudio Community <a href="https://visualstudio.microsoft.com/ru/downloads/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="ellipsis">visualstudio.microsoft.com/ru/</span><span class="invisible">downloads/</span></a> Запускаем инсталлятор, для работы понадобится набор «Разработка классических приложений С++»</p><p><a href="https://habr.com/ru/articles/876802/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="">habr.com/ru/articles/876802/</span><span class="invisible"></span></a></p><p><a href="https://zhub.link/tags/c" class="mention hashtag" rel="tag">#<span>c</span></a>++ <a href="https://zhub.link/tags/qt" class="mention hashtag" rel="tag">#<span>qt</span></a> <a href="https://zhub.link/tags/cmake" class="mention hashtag" rel="tag">#<span>cmake</span></a> <a href="https://zhub.link/tags/conan" class="mention hashtag" rel="tag">#<span>conan</span></a> <a href="https://zhub.link/tags/conanio" class="mention hashtag" rel="tag">#<span>conanio</span></a></p>
Habr<p>CMake: Настройка проекта, подключение библиотек и мучения с Vulkan</p><p>Oh, and the documentation: It&#39;s extensive but never tells me what I need to know. Эта цитата взята из обсуждения CMake на Reddit, и она очень точно описывает большую часть моих проблем с CMake: когда я хочу что-то сделать документация не помогает с этим вообще - приходится искать решения в чужих проектах и статьях. В этой статье будут разобраны проблемы, с которыми я столкнулся в процессе изучения Vulkan. Однако материал будет полезен и тем, кто настраивает любой другой проект.</p><p><a href="https://habr.com/ru/articles/873798/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="">habr.com/ru/articles/873798/</span><span class="invisible"></span></a></p><p><a href="https://zhub.link/tags/cmake" class="mention hashtag" rel="tag">#<span>cmake</span></a> <a href="https://zhub.link/tags/c" class="mention hashtag" rel="tag">#<span>c</span></a>++ <a href="https://zhub.link/tags/vulkan" class="mention hashtag" rel="tag">#<span>vulkan</span></a></p>
Habr<p>Как мы добавляли поддержку Apple Silicon в анализатор (arm64)</p><p>С выходом PVS-Studio 7.34 стали доступны нативные сборки анализатора для macOS на архитектуре Apple Silicon (ARM). В этой заметке мы хотели бы подробнее рассказать о проделанной работе, а также предложить советы по портированию кроссплатформенных инструментов на новую перспективную архитектуру.</p><p><a href="https://habr.com/ru/companies/pvs-studio/articles/869378/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="ellipsis">habr.com/ru/companies/pvs-stud</span><span class="invisible">io/articles/869378/</span></a></p><p><a href="https://zhub.link/tags/apple_silicon" class="mention hashtag" rel="tag">#<span>apple_silicon</span></a> <a href="https://zhub.link/tags/arm" class="mention hashtag" rel="tag">#<span>arm</span></a> <a href="https://zhub.link/tags/cmake" class="mention hashtag" rel="tag">#<span>cmake</span></a> <a href="https://zhub.link/tags/pvsstudio" class="mention hashtag" rel="tag">#<span>pvsstudio</span></a> <a href="https://zhub.link/tags/pvs" class="mention hashtag" rel="tag">#<span>pvs</span></a> <a href="https://zhub.link/tags/macos" class="mention hashtag" rel="tag">#<span>macos</span></a></p>
Habr<p>Дневник альтруиста. OpenBlt</p><p>В данной статье будет рассмотрен Си проект OpenBlt с точки зрения системы сборки CMake. Я постараюсь не теоретически или эмпирически, а именно на практике продемонстрировать, что в составном проекте лучше один раз уделить время на подготовку хорошего фундамента для архитектуры, чем впоследствии мириться с тонной дублируемого и не универсального поведения. Также я постараюсь доказать, что cmake генераторы выражений - намного легче и приятнее, чем они кажутся на первый взгляд. И да, я понимаю, что и на второй, и на третий взгляд за генераторы выражений хочется жалобу на Kitware подать. :D * Превью сгенерировано с помощью Adobe Firefly</p><p><a href="https://habr.com/ru/articles/860736/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="">habr.com/ru/articles/860736/</span><span class="invisible"></span></a></p><p><a href="https://zhub.link/tags/cmake" class="mention hashtag" rel="tag">#<span>cmake</span></a> <a href="https://zhub.link/tags/architecture" class="mention hashtag" rel="tag">#<span>architecture</span></a> <a href="https://zhub.link/tags/openblt" class="mention hashtag" rel="tag">#<span>openblt</span></a> <a href="https://zhub.link/tags/c" class="mention hashtag" rel="tag">#<span>c</span></a> <a href="https://zhub.link/tags/opensource" class="mention hashtag" rel="tag">#<span>opensource</span></a></p>
Habr<p>Создаем свою библиотеку на C++ с тестированием, CMake и блекджеком: часть 2</p><p>В мире программирования создание собственных библиотек — это не просто возможность пополнения своего портфолио или способ структурировать код, а настоящий акт творческого самовыражения (и иногда велосипедостроения). Каждый разработчик иногда использовал в нескольких своих проектах однообразный код, который приходилось каждый раз перемещать. Да и хотя бы как упаковать свои идеи и знания в удобный и доступный формат, которым можно будет поделиться с сообществом. Если вы ловили себя на мысли: «А почему мне бы не создать свою полноценную библиотеку?», то я рекомендую прочитать вам мою статью. Эту статью вы можете использовать как шпаргалку для создания проектов, и не только библиотек. Некоторые из вас могут подумать, что мы изобретаем велосипед. А я в ответ спрошу — сможете ли вы прямо сейчас, без подсказок, только по памяти, нарисовать велосипед без ошибок? Добро пожаловать во вторую, скорее всего финальную часть статьи! Здесь мы окончательно допишем код, исправим некоторые ошибки.</p><p><a href="https://habr.com/ru/companies/timeweb/articles/846736/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="ellipsis">habr.com/ru/companies/timeweb/</span><span class="invisible">articles/846736/</span></a></p><p><a href="https://zhub.link/tags/C" class="mention hashtag" rel="tag">#<span>C</span></a>++ <a href="https://zhub.link/tags/cmake" class="mention hashtag" rel="tag">#<span>cmake</span></a> <a href="https://zhub.link/tags/%D0%B0%D1%80%D1%85%D0%B8%D1%82%D0%B5%D0%BA%D1%82%D1%83%D1%80%D0%B0_%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B0" class="mention hashtag" rel="tag">#<span>архитектура_проекта</span></a> <a href="https://zhub.link/tags/%D0%B1%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B0" class="mention hashtag" rel="tag">#<span>библиотека</span></a> <a href="https://zhub.link/tags/%D1%82%D1%83%D1%82%D0%BE%D1%80%D0%B8%D0%B0%D0%BB" class="mention hashtag" rel="tag">#<span>туториал</span></a> <a href="https://zhub.link/tags/getting_started" class="mention hashtag" rel="tag">#<span>getting_started</span></a> <a href="https://zhub.link/tags/%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D0%BF%D0%BE%D0%B4_linux" class="mention hashtag" rel="tag">#<span>разработка_под_linux</span></a> <a href="https://zhub.link/tags/%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D0%BF%D0%BE%D0%B4_windows" class="mention hashtag" rel="tag">#<span>разработка_под_windows</span></a> <a href="https://zhub.link/tags/%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D1%81%D0%B2%D0%BE%D0%B5%D0%B3%D0%BE_%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B0" class="mention hashtag" rel="tag">#<span>создание_своего_проекта</span></a> <a href="https://zhub.link/tags/timeweb_%D1%81%D1%82%D0%B0%D1%82%D1%8C%D0%B8" class="mention hashtag" rel="tag">#<span>timeweb_статьи</span></a></p>
Habr<p>Создаем свою простую (C++) библиотеку с документацией, CMake и блекджеком</p><p>В мире программирования создание собственных библиотек — это не просто возможность пополнения своего портфолио или способ структурировать код, а настоящий акт творческого самовыражения (и иногда велосипедостроения). Каждый разработчик иногда использовал в нескольких своих проектах однообразный код, который приходилось каждый раз перемещать. Да и хотя бы как упаковать свои идеи и знания в удобный и доступный формат, которым можно будет поделиться с сообществом. Если вы ловили себя на мысли: ‭«А почему мне бы не создать свою полноценную библиотеку?‭», то я рекомендую прочитать вам мою статью. Эту статью вы можете использовать как шпаргалку для создания проектов, и не только библиотек. Некоторые из вас могут подумать что мы изобретаем велосипед. А я в ответ скажу — сможете ли вы прямо сейчас, без подсказок, только по памяти, нарисовать велосипед без ошибок?</p><p><a href="https://habr.com/ru/companies/timeweb/articles/845074/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="ellipsis">habr.com/ru/companies/timeweb/</span><span class="invisible">articles/845074/</span></a></p><p><a href="https://zhub.link/tags/C" class="mention hashtag" rel="tag">#<span>C</span></a>++ <a href="https://zhub.link/tags/doxygen" class="mention hashtag" rel="tag">#<span>doxygen</span></a> <a href="https://zhub.link/tags/open_source" class="mention hashtag" rel="tag">#<span>open_source</span></a> <a href="https://zhub.link/tags/github" class="mention hashtag" rel="tag">#<span>github</span></a> <a href="https://zhub.link/tags/%D0%B1%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B0" class="mention hashtag" rel="tag">#<span>библиотека</span></a> <a href="https://zhub.link/tags/%D1%82%D1%83%D1%82%D0%BE%D1%80%D0%B8%D0%B0%D0%BB" class="mention hashtag" rel="tag">#<span>туториал</span></a> <a href="https://zhub.link/tags/%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B1%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B8" class="mention hashtag" rel="tag">#<span>создание_библиотеки</span></a> <a href="https://zhub.link/tags/%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B0" class="mention hashtag" rel="tag">#<span>создание_проекта</span></a> <a href="https://zhub.link/tags/cmake" class="mention hashtag" rel="tag">#<span>cmake</span></a></p>
Habr<p>Не панацея, но помощник. О статическом анализаторе кода</p><p>Приветствую, уважаемые читатели Хабра! Сегодня я хочу предложить вашему вниманию статью о статических анализаторах кода, о том, что это такое и для чего они, собственно, нужны.</p><p><a href="https://habr.com/ru/companies/reksoft/articles/840744/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="ellipsis">habr.com/ru/companies/reksoft/</span><span class="invisible">articles/840744/</span></a></p><p><a href="https://zhub.link/tags/%D1%81%D1%82%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9_%D0%B0%D0%BD%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%82%D0%BE%D1%80" class="mention hashtag" rel="tag">#<span>статический_анализатор</span></a> <a href="https://zhub.link/tags/%D1%81%D1%82%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9_%D0%B0%D0%BD%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%82%D0%BE%D1%80_%D0%BA%D0%BE%D0%B4%D0%B0" class="mention hashtag" rel="tag">#<span>статический_анализатор_кода</span></a> <a href="https://zhub.link/tags/%D0%B8%D1%81%D1%85%D0%BE%D0%B4%D0%BD%D1%8B%D0%B9_%D0%BA%D0%BE%D0%B4" class="mention hashtag" rel="tag">#<span>исходный_код</span></a> <a href="https://zhub.link/tags/%D0%B0%D0%BD%D0%B0%D0%BB%D0%B8%D0%B7_%D0%BA%D0%BE%D0%B4%D0%B0" class="mention hashtag" rel="tag">#<span>анализ_кода</span></a> <a href="https://zhub.link/tags/patternbased_analysis" class="mention hashtag" rel="tag">#<span>patternbased_analysis</span></a> <a href="https://zhub.link/tags/data_flow_analysis" class="mention hashtag" rel="tag">#<span>data_flow_analysis</span></a> <a href="https://zhub.link/tags/control_flow" class="mention hashtag" rel="tag">#<span>control_flow</span></a> <a href="https://zhub.link/tags/msbuild" class="mention hashtag" rel="tag">#<span>msbuild</span></a> <a href="https://zhub.link/tags/cmake" class="mention hashtag" rel="tag">#<span>cmake</span></a> <a href="https://zhub.link/tags/baseline" class="mention hashtag" rel="tag">#<span>baseline</span></a></p>
Habr<p>Работа с кодом на C++ в Swift</p><p>Привет, Хабр! Меня зовут Иван Мясников, я CTO проекта «Виртуальный ассистент» в МТС Диджитал. Встраивание кода С++ в приложения для iOS — достаточно трудная задача. Еще сложнее собрать SDK для дальнейшей поставки в сторонние приложения, используя логику на С++ совместно со Swift. В этой статье я расскажу, как мы создавали такой SDK так, чтобы он встраивался в любое приложение без танцев с целевой архитектурой процессора. Встраивание C++ в Swift позволяет использовать один код на разных платформах и ускорить некоторые задачи, где Swift не хватает быстродействия. У нас есть библиотека на C++ для работы с ML на Tensorflow Lite. И эту библиотеку мы хотели встроить на Android, iOS, Linux под различные платформы и архитектуры процессора без переписывания логики оттуда на Kotlin, Swift или что-нибудь еще. В этой статье я расскажу, как мы заставили код на C++ работать в iOS и какие тут есть тонкости и ограничения. Я ориентировался на читателей, у которых может не быть экспертизы в iOS или в C++, и старался не погружаться в глубокие дебри. Этот материал познакомит с решениями, к которым мы пришли экспериментально, подбирая подходящие варианты под нашу задачу.</p><p><a href="https://habr.com/ru/companies/ru_mts/articles/838926/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="ellipsis">habr.com/ru/companies/ru_mts/a</span><span class="invisible">rticles/838926/</span></a></p><p><a href="https://zhub.link/tags/framework" class="mention hashtag" rel="tag">#<span>framework</span></a> <a href="https://zhub.link/tags/tensorflow_lite" class="mention hashtag" rel="tag">#<span>tensorflow_lite</span></a> <a href="https://zhub.link/tags/xcode" class="mention hashtag" rel="tag">#<span>xcode</span></a> <a href="https://zhub.link/tags/bazel" class="mention hashtag" rel="tag">#<span>bazel</span></a> <a href="https://zhub.link/tags/bazelisk" class="mention hashtag" rel="tag">#<span>bazelisk</span></a> <a href="https://zhub.link/tags/cmake" class="mention hashtag" rel="tag">#<span>cmake</span></a> <a href="https://zhub.link/tags/lipo" class="mention hashtag" rel="tag">#<span>lipo</span></a> <a href="https://zhub.link/tags/%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5" class="mention hashtag" rel="tag">#<span>программирование</span></a> <a href="https://zhub.link/tags/cocoapod" class="mention hashtag" rel="tag">#<span>cocoapod</span></a> <a href="https://zhub.link/tags/c" class="mention hashtag" rel="tag">#<span>c</span></a>++</p>
Habr<p>Logger C++</p><p>Этот проект представляет собой простую и гибкую библиотеку для логирования на C++. Библиотека поддерживает разные уровни логирования, форматирование сообщений и возможность записи логов в разные потоки. Читать далее)</p><p><a href="https://habr.com/ru/articles/838412/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="">habr.com/ru/articles/838412/</span><span class="invisible"></span></a></p><p><a href="https://zhub.link/tags/%D0%BB%D0%BE%D0%B3%D0%B3%D0%B5%D1%80" class="mention hashtag" rel="tag">#<span>логгер</span></a> <a href="https://zhub.link/tags/logger" class="mention hashtag" rel="tag">#<span>logger</span></a> <a href="https://zhub.link/tags/c" class="mention hashtag" rel="tag">#<span>c</span></a>++ <a href="https://zhub.link/tags/cmake" class="mention hashtag" rel="tag">#<span>cmake</span></a> <a href="https://zhub.link/tags/github" class="mention hashtag" rel="tag">#<span>github</span></a> <a href="https://zhub.link/tags/%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82_c" class="mention hashtag" rel="tag">#<span>проект_c</span></a>++ <a href="https://zhub.link/tags/%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82" class="mention hashtag" rel="tag">#<span>проект</span></a> <a href="https://zhub.link/tags/%D0%BB%D0%BE%D0%B3%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5" class="mention hashtag" rel="tag">#<span>логирование</span></a> <a href="https://zhub.link/tags/%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0" class="mention hashtag" rel="tag">#<span>работа</span></a> <a href="https://zhub.link/tags/%D0%BF%D0%BE%D0%BC%D0%BE%D0%B3%D0%B8%D1%82%D0%B5_%D1%81_%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BE%D0%B9" class="mention hashtag" rel="tag">#<span>помогите_с_работой</span></a></p>
Habr<p>Дневник альтруиста. dfu-util</p><p>В данной статье я рассмотрю подключение утилиты dfu-util, написанную на языке С, к С++ проекту на CMake в виде сабмодуля. Одна из главных целей статьи - это подключение старого и типового кода на С к своему проекту. Здесь приведены проблемы генерируемых файлов, борьба с кодом незнакомого разработчика (особенно если это разработчик на Си), особенности портирования окружения на Windows и т.д. Формат статьи представляет собой некое подобие дневника разработчика (как, собственно, следует из названия публикации), поэтому материал может быть использован и как технический гайд, и как вечернее чтиво. * Превью сгенерировано с помощью Adobe Firefly Читать дальше -&gt;</p><p><a href="https://habr.com/ru/articles/792726/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="">habr.com/ru/articles/792726/</span><span class="invisible"></span></a></p><p><a href="https://zhub.link/tags/cmake" class="mention hashtag" rel="tag">#<span>cmake</span></a> <a href="https://zhub.link/tags/dfuutil" class="mention hashtag" rel="tag">#<span>dfuutil</span></a> <a href="https://zhub.link/tags/c" class="mention hashtag" rel="tag">#<span>c</span></a>++ <a href="https://zhub.link/tags/%D0%B2%D0%B5%D1%87%D0%B5%D1%80%D0%BD%D0%B5%D0%B5_%D1%87%D1%82%D0%B8%D0%B2%D0%BE" class="mention hashtag" rel="tag">#<span>вечернее_чтиво</span></a> <a href="https://zhub.link/tags/%D0%B4%D0%BD%D0%B5%D0%B2%D0%BD%D0%B8%D0%BA_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B8" class="mention hashtag" rel="tag">#<span>дневник_разработки</span></a></p>
Habr<p>Решил я тут текстовую MMORPG на C++ написать</p><p>Cразу уточню, это не гайд по созданию MMORPG на C++. Это нечто вроде моего дневника, куда я буду скидывать процесс разработки (Да, проект ещё не завершён, даже не близко, скорее только начат...). Почему я вообще тогда создал эту статью? Ну, коли ты крутой true‑программист, буду рад советам, критике, помощи, ругани, проще говоря всему, что может помочь мне улучшить это. С другой стороны, если ты сам захотел создать нечто похожее, то, быть может, сможешь избежать всех трудностей, с которыми столкнулся я.</p><p><a href="https://habr.com/ru/articles/793084/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="">habr.com/ru/articles/793084/</span><span class="invisible"></span></a></p><p><a href="https://zhub.link/tags/MySQL" class="mention hashtag" rel="tag">#<span>MySQL</span></a> <a href="https://zhub.link/tags/cmake" class="mention hashtag" rel="tag">#<span>cmake</span></a> <a href="https://zhub.link/tags/MMORPG" class="mention hashtag" rel="tag">#<span>MMORPG</span></a> <a href="https://zhub.link/tags/c" class="mention hashtag" rel="tag">#<span>c</span></a>++</p>
Habr<p>Настройка C++ проекта c OpenMP. Обертывание С++ для Python с помощью pybind11 и CMake</p><p>В статье описан простой практический пример настройки проекта на языке C++ с использованием в качестве примера библиотеки для многопоточных вычислений OpenMP , а также дальнейшее обёртывание для использования в проектах написанных на Python при помощи библиотеки Pybind11. В качестве системы сборки используется CMake.</p><p><a href="https://habr.com/ru/articles/790538/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="">habr.com/ru/articles/790538/</span><span class="invisible"></span></a></p><p><a href="https://zhub.link/tags/c" class="mention hashtag" rel="tag">#<span>c</span></a>++ <a href="https://zhub.link/tags/python" class="mention hashtag" rel="tag">#<span>python</span></a> <a href="https://zhub.link/tags/cmake" class="mention hashtag" rel="tag">#<span>cmake</span></a> <a href="https://zhub.link/tags/openmp" class="mention hashtag" rel="tag">#<span>openmp</span></a> <a href="https://zhub.link/tags/docker" class="mention hashtag" rel="tag">#<span>docker</span></a> <a href="https://zhub.link/tags/example" class="mention hashtag" rel="tag">#<span>example</span></a></p>
Habr<p>Миландр + GCC + VSCode. Пробуем мигать светодиодом на отечественном ARM32 микроконтроллере</p><p>Год назад я написал статью об отладке STM32 микроконтроллеров из под VSCode, с компиляцией в GCC и сборкой с помощью CMake. А в декабре мне в руки попали две тестовые единицы отечественных микроконтроллеров К1986ВЕ92FI (MDR1211FI1). Производитель имеет свою библиотеку SPL на C, а также неплохую базу примеров инициализации и применения различной периферии в Keil и IAR; однако я, average C++20+ enjoyer , решил попробовать перенести свой тулчейн на новое железо.</p><p><a href="https://habr.com/ru/articles/788776/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="">habr.com/ru/articles/788776/</span><span class="invisible"></span></a></p><p><a href="https://zhub.link/tags/%D0%BC%D0%B8%D0%BA%D1%80%D0%BE%D0%BA%D0%BE%D0%BD%D1%82%D1%80%D0%BE%D0%BB%D0%BB%D0%B5%D1%80%D1%8B" class="mention hashtag" rel="tag">#<span>микроконтроллеры</span></a> <a href="https://zhub.link/tags/gcc" class="mention hashtag" rel="tag">#<span>gcc</span></a> <a href="https://zhub.link/tags/%D0%BC%D0%B8%D0%BB%D0%B0%D0%BD%D0%B4%D1%80" class="mention hashtag" rel="tag">#<span>миландр</span></a> <a href="https://zhub.link/tags/vscode" class="mention hashtag" rel="tag">#<span>vscode</span></a> <a href="https://zhub.link/tags/cmake" class="mention hashtag" rel="tag">#<span>cmake</span></a> <a href="https://zhub.link/tags/linker_script" class="mention hashtag" rel="tag">#<span>linker_script</span></a> <a href="https://zhub.link/tags/arm_assembler" class="mention hashtag" rel="tag">#<span>arm_assembler</span></a> <a href="https://zhub.link/tags/%D0%B8%D0%BC%D0%BF%D0%BE%D1%80%D1%82%D0%BE%D0%B7%D0%B0%D0%BC%D0%B5%D1%89%D0%B5%D0%BD%D0%B8%D0%B5" class="mention hashtag" rel="tag">#<span>импортозамещение</span></a> <a href="https://zhub.link/tags/%D0%BE%D1%82%D0%B5%D1%87%D0%B5%D1%81%D1%82%D0%B2%D0%B5%D0%BD%D0%BD%D0%B0%D1%8F_%D1%8D%D0%BB%D0%B5%D0%BA%D1%82%D1%80%D0%BE%D0%BD%D0%B8%D0%BA%D0%B0" class="mention hashtag" rel="tag">#<span>отечественная_электроника</span></a></p>
Habr<p>VSCode+CMake+openocd для программирования и отладки ch32</p><p>На хабре немало статей по настройке окружения для разработки под микроконтроллеры stm32 и другие платформы. Кто-то предпочитает использовать спец.пакеты ( CubeIDE , Keil ), кто-то - расширения для IDE &quot;общего назначения&quot; ( PlatformIO , VisualGDB ), кто-то, как и автор, &quot;голый&quot; CMake в связке с бесплатным VSCode. В процессе знакомства с пока еще не слишком популярными RISC-V микроконтроллерами ch32 , которые, в целом, способны заменить stm32, захотелось обеспечить себе привычную и уже удобную связку VSCode+CMake для программирования, сборки, прошивки и отладки. И это получилось! RISCнём (по-китайски)</p><p><a href="https://habr.com/ru/articles/786872/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="">habr.com/ru/articles/786872/</span><span class="invisible"></span></a></p><p><a href="https://zhub.link/tags/ch32v003" class="mention hashtag" rel="tag">#<span>ch32v003</span></a> <a href="https://zhub.link/tags/cmake" class="mention hashtag" rel="tag">#<span>cmake</span></a> <a href="https://zhub.link/tags/vscode" class="mention hashtag" rel="tag">#<span>vscode</span></a> <a href="https://zhub.link/tags/riscv" class="mention hashtag" rel="tag">#<span>riscv</span></a> <a href="https://zhub.link/tags/openocd" class="mention hashtag" rel="tag">#<span>openocd</span></a></p>
Habr<p>Как мы переводили проект на CMake</p><p>В статье мы расскажем о том, как переводили проект с рекурсивной сборочной подсистемы ЗОСРВ &quot;Нейтрино&quot; , представляющей собой набор расширений инструмента GNU Make на сборочную систему CMake: с какими нюансами нам пришлось столкнуться, какие преимущества мы получили в результате перевода и как это повлияло на нашу команду разработчиков.</p><p><a href="https://habr.com/ru/companies/swd_es/articles/773116/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="ellipsis">habr.com/ru/companies/swd_es/a</span><span class="invisible">rticles/773116/</span></a></p><p><a href="https://zhub.link/tags/cmake" class="mention hashtag" rel="tag">#<span>cmake</span></a> <a href="https://zhub.link/tags/make" class="mention hashtag" rel="tag">#<span>make</span></a> <a href="https://zhub.link/tags/%D1%81%D0%B1%D0%BE%D1%80%D0%BA%D0%B0_%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B0" class="mention hashtag" rel="tag">#<span>сборка_проекта</span></a> <a href="https://zhub.link/tags/%D1%81%D0%B1%D0%BE%D1%80%D0%BA%D0%B0" class="mention hashtag" rel="tag">#<span>сборка</span></a> <a href="https://zhub.link/tags/%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82" class="mention hashtag" rel="tag">#<span>проект</span></a> <a href="https://zhub.link/tags/qt_creator" class="mention hashtag" rel="tag">#<span>qt_creator</span></a> <a href="https://zhub.link/tags/%D0%B7%D0%BE%D1%81%D1%80%D0%B2_" class="mention hashtag" rel="tag">#<span>зосрв_</span></a>«нейтрино» <a href="https://zhub.link/tags/%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5" class="mention hashtag" rel="tag">#<span>программирование</span></a> <a href="https://zhub.link/tags/%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC" class="mention hashtag" rel="tag">#<span>проектирование_систем</span></a></p>