Библиотека C/C++ разработчика | cpp, boost, qt
20.1K subscribers
1.82K photos
53 videos
16 files
4.02K links
Все самое полезное для плюсовика и сишника в одном канале.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/d6cd2932

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/67a5bac324c8ba6dcaa1ad17
Download Telegram
⚡️ Фича дня: [[likely]]/[[unlikely]] (C++20)

🔥 Проблема:

Компилятор не знает, какие ветки кода выполняются чаще, что влияет на производительность.

✏️ Решение:

Атрибуты помогают компилятору оптимизировать предсказание переходов.


До:

if (error_code != 0) {
handle_error(); // редкий случай
} else {
normal_processing(); // частый случай
}



После:

if (error_code != 0) [[unlikely]] {
handle_error(); // компилятор оптимизирует как редкий случай
} else [[likely]] {
normal_processing(); // оптимизируется как частый случай
}



Применение:

• Обработка ошибок в системном коде
• Оптимизация горячих путей в циклах
• Улучшение производительности критических секций


💡 Помогают ли вам атрибуты в оптимизации?


Библиотека C/C++ разработчика

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
10👍8🔥3
🧨 Портирование C++ проектов: подводные камни архитектурных различий

💡 Ростислав Михеев в своей лекции на UNIGINE Open Air 2025 разобрал реальные кейсы портирования игровых движков и выделил критические моменты для C++ разработчиков.

❗️ Ключевые моменты лекции:

• скрытые баги из-за изменения размеров указателей при переходе с 32-bit на 64-bit
• проблемы с SIMD-инструкциями при портировании с SSE (x86) на Neon (ARM)
• необходимость полного переписывания ассемблерного кода под новую архитектуру

Основной фокус — практические проблемы портирования X-Ray движка («Сталкер») на консоли и методы их решения через статический анализ кода.

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

Вы узнаете, что код, который «просто работает», может содержать десятки скрытых UB, которые проявятся только при смене платформы — и найти их без специальных инструментов практически невозможно.

👉 Видео

Библиотека C/C++ разработчика

#буст
2