Рубрика «c++» - 8

История о том, как стремление человека управлять сложностью меняло сами основы программирования.

Перед тем как перейти непосредственно к языкам программирования, мне очень хочется осветить одно событие.

Читать полностью »

Сегодня Rust активно используется не только как язык для написания приложений, в том числе системных, но и как язык для написания библиотек, которые подключают к существующим проектам на C и C++.
Это удобно: новую функциональность можно писать на Rust, но при этом не переписывать весь код на нём.

В этой статье я покажу, как:

  • написать библиотеку на Rust;

  • выставить для неё C API через FFI;

  • собрать всё одной командой через CMake;

  • использовать её из C++ кода;

  • реализовать обратные вызовы (callback), которые Rust будет вызывать в C++.

Весь код, части которого приведены в статье, доступен в репозитории:
Читать полностью »

Привет!

Данная статья посвящена описанию реализации учебного проекта. Проект является С++ реализацией сервиса по распределению позиций заказов внутри партий. Исходная реализация данного сервиса представлена на Python в книге «Паттерны разработки на Python: TDD, DDD и событийно-ориентированная архитектура».

Читателю рекомендуется ознакомиться с оригиналом проекта и книгой «Паттерны разработки на Python: TDD, DDD и событийно-ориентированная архитектура».

Содержание

  1. Читать полностью »

Пролог: Мечта сбылась, но эксперимент продолжается

Недавно сообщество фанатов классической RPG Arcanum: Of Steamworks and Magick Obscura потрясла новость: разработчик по имени Alex завершил титанический труд по реверс-инжинирингу оригинального движка игры. Теперь у нас есть его полнофункциональные исходные коды, которые можно компилировать под Windows, Linux и macOS с использованием современной библиотеки SDL3.

Читать полностью »

Думаю никого не нужно вводить в курс дела - в С++ всегда было сложно с подключением зависимостей. Было. Первым из пучины баш и питон скриптов естественным отбором появился и повсеместно распространился cmake - на этом этапе хотя бы проекты без зависимостей стало можно собрать как-то одинаково (здесь я намеренно не упоминаю прочие инструменты того же толка, они просто гораздо менее популярны)

Читать полностью »

Я много работаю с CMake. И периодически сталкиваюсь с довольно сложными и запутанными CMake-скриптами. Долгое время я использовал логи, чтобы разобраться в их работе и выполнить отладку. Позже обнаружил, что в CMake есть встроенный отладчик и профилировщик, которые сильно упрощают процесс отладки. Кажется, не все знают об их существовании и о том, как с ними работать, поэтому я решил написать эту статью.

Читать полностью »

1. Вступление

Я работаю в одном крупном российском банке, где занимаюсь разработкой распределённых систем. За последние несколько лет наша архитектура заметно усложнилась — часть сервисов работает в OpenShift, часть на виртуалках, а кое-что до сих пор крутится на «железе».

Читать полностью »

OpenCV — популярная библиотека, включающая множество алгоритмов компьютерного зрения и функций для них. Оптимизация их под RISC-V — большая и интересная задача, которой в рамках Зимней школы RISC-V YADRO сезона 2024–2025 занимались студенты Университета Лобачевского (ННГУ). В этой статье они подробно расскажут о своей работе.

Читать полностью »
История Rust: от стартапа до продакшена - 1

Вокруг Rust в Linux-сообществе до сих пор не утихают жаркие споры. Кто-то считает его спасением, а кто-то — проклятием. В дебатах сталкиваются две позиции: сторонники видят в нем ключ к безопасности и модернизации ядра, противники опасаются усложнения и нарушения традиционных подходов. 

Читать полностью »

Некоторое время назад я участвовал в разработке поддержки мультиплеера для одной глобальной модификации Цивилизации 5 и сегодня хотел бы поделиться здесь некоторыми подробностями о том, как устроена сетевая игра, как всё-таки запустить ее с модами, что с ней вообще не так, и как мы это фиксили.

Что за Цивилизация 5?

Цивилизация 5Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js