🧨 Address Sanitizer в Visual Studio 2022
💡 Microsoft выпустила обновление Address Sanitizer для Visual Studio 2022 версии 17.14 с фокусом на качество и внедрение
❗ Ключевые улучшения версии:
• расширенная поддержка
• автоматизированное тестирование совместимости с
• исправление регрессии отображения
• возможность отключения
Самое интересное —
Это означает, что
👉 Статья
Библиотека C/C++ разработчика #буст
«Опять segfault в продакшене из-за memory corruption... А ведь код проходил все тесты!»
💡 Microsoft выпустила обновление Address Sanitizer для Visual Studio 2022 версии 17.14 с фокусом на качество и внедрение
ASan
в собственный toolchain
.❗ Ключевые улучшения версии:
• расширенная поддержка
__asan_default_options
для secure приложений• автоматизированное тестирование совместимости с
Xbox OS
• исправление регрессии отображения
call stack
на x64• возможность отключения
container annotations
по allocator
Самое интересное —
Microsoft
теперь использует ASan
для тестирования самого MSVC
компилятора. Каждый PR должен проходить тесты, где компилятор собран с /fsanitize=address😼
Это означает, что
ASan
теперь мониторит не только вашу программу, но и сам процесс компиляции, выявляя memory safety
ошибки в toolchain
.👉 Статья
Библиотека C/C++ разработчика #буст
🔥4❤3
📦 Создание модулей C++20 для быстрой компиляции
❗️ Проблема:
Медленная компиляция из-за #include файлов.
✅ Решение:
1️⃣ Создайте
2️⃣ Экспортируйте нужные декларации
3️⃣ Импортируйте модуль в коде
❌ Частые ошибки:
Забывать ключевое слово export для публичных функций.
💡 Совет:
Modules работают не во всех компиляторах — проверяйте поддержку!
Библиотека C/C++ разработчика #буст
Modules
— это будущее организации C++ кода.Медленная компиляция из-за #include файлов.
module interface
файл// math_utils.ixx
export module math_utils;
export namespace math {
int add(int a, int b) {
return a + b;
}
double sqrt_approx(double x) {
return x / 2.0; // Упрощенная версия
}
}
// main.cpp
import math_utils;
#include <iostream>
int main() {
std::cout << math::add(3, 4) << std::endl;
return 0;
}
Забывать ключевое слово export для публичных функций.
Modules работают не во всех компиляторах — проверяйте поддержку!
Библиотека C/C++ разработчика #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14❤1
🎯 Что посмотреть: когда метрики мотивируют неправильно
❗ Основные идеи подкаста:
✅ Не оптимизируй code coverage ради 100% — качество тестов важнее
✅ Lines of code — антиметрика (меньше часто лучше)
✅ Build time должен мотивировать на лучшую архитектуру
✅ Bug count без контекста может демотивировать тестирование
Метрики должны направлять к правильным решениям, а не быть игрой в цифры.
👉 Подкаст о метриках
Библиотека C/C++ разработчика #буст
Знаешь закон Гудхарта? «Когда метрика становится целью, она перестаёт быть хорошей метрикой». В C++ разработке это особенно актуально.
Андрей Бреслав
(ex-JetBrains, а теперь основатель стартапа) и Александр Ложечкин
(ex-Microsoft, ex-Amazon, а теперь CIO в банке) рассуждают, спорят, делятся опытом, и просто болтают на темы развития людей, руководства, технологий и всего остального.❗ Основные идеи подкаста:
✅ Не оптимизируй code coverage ради 100% — качество тестов важнее
✅ Lines of code — антиметрика (меньше часто лучше)
✅ Build time должен мотивировать на лучшую архитектуру
✅ Bug count без контекста может демотивировать тестирование
Метрики должны направлять к правильным решениям, а не быть игрой в цифры.
👉 Подкаст о метриках
Библиотека C/C++ разработчика #буст
❤5
Forwarded from Библиотека собеса по C++ | вопросы с собеседований
Можно ли экспортировать макрос из модуля в C++?
Anonymous Quiz
30%
Да, любые макросы
7%
Да, но только функциональные макросы
5%
Да, но только объектоподобные макросы
44%
Нет, макросы не экспортируются из модулей
14%
Только с использованием специального ключевого слова
🚨 ИИ уже съел ваше место?
Стоп. Давайте без паники и хайпа.
Пока одни кричат «ИИ всех заменит!», другие спокойно получают оффер за оффером. Пока CEO сокращают команды «из-за ИИ», разработчики с нужными скиллами поднимают зарплаты.
Мы копаем глубже твиттеров «экспертов» и собираем данные от тех, кто каждый день коммитит, деплоит, фиксит баги — но в этом нам нужна ваша помощь.
❓Хотим понять:
— Кого действительно уволили и почему
— Как изменились задачи разработчиков
— Где ИИ помогает, а где только мешает
— Какие роли появились, какие исчезли
— Сколько платят тем, кто «дружит» с ИИ
Без буллшита — только цифры и факты. Результаты будут открыты для всех.
📊 Чем больше участников — тем точнее картина. Поделитесь опытом: https://clc.to/aFntFw
Стоп. Давайте без паники и хайпа.
Пока одни кричат «ИИ всех заменит!», другие спокойно получают оффер за оффером. Пока CEO сокращают команды «из-за ИИ», разработчики с нужными скиллами поднимают зарплаты.
Мы копаем глубже твиттеров «экспертов» и собираем данные от тех, кто каждый день коммитит, деплоит, фиксит баги — но в этом нам нужна ваша помощь.
❓Хотим понять:
— Кого действительно уволили и почему
— Как изменились задачи разработчиков
— Где ИИ помогает, а где только мешает
— Какие роли появились, какие исчезли
— Сколько платят тем, кто «дружит» с ИИ
Без буллшита — только цифры и факты. Результаты будут открыты для всех.
📊 Чем больше участников — тем точнее картина. Поделитесь опытом: https://clc.to/aFntFw
❤3
🧑💻 AI-инструменты, которые я использую каждый день
Андрей, мидл C++ разработчик, рассказывает о том, какие современные AI-инструменты разработки он использует в повседневной работе.
Какие AI-инструменты облегчают вашу работу? Делитесь в комментариях 👇
Библиотека C/C++ разработчика #буст
Андрей, мидл C++ разработчик, рассказывает о том, какие современные AI-инструменты разработки он использует в повседневной работе.
Какие AI-инструменты облегчают вашу работу? Делитесь в комментариях 👇
Библиотека C/C++ разработчика #буст
👍4❤1🥰1
😤 «AI-агенты — это всё игрушки, зачем на это курс покупать, когда всё есть в интернете?!»
Ага, конечно. Вот только на YouTube никто не:
Уже 23 июня в 19:00 по МСК ты можешь сам всё узнать на бесплатном вебинаре с экспертом Никитой Зелинским.
👉 Что будет на вебинаре:
— Разбор структуры курса
— Ответы на частые вопросы студентов
— Примеры из реальных проектов с AI-агентами
— И, конечно, как это всё можно использовать в работе прямо сейчас
А если уже всё понял и хочешь идти учиться — лови промокодlucky на 5.000₽
🔗 Ссылка на курс
P.s. Ждем тебя!
Ага, конечно. Вот только на YouTube никто не:
• Разберет твои вопросы вживую
• Не покажет, как применять AI-агентов на практике
• Не поможет встроить это в реальную работу DS-специалиста
Уже 23 июня в 19:00 по МСК ты можешь сам всё узнать на бесплатном вебинаре с экспертом Никитой Зелинским.
👉 Что будет на вебинаре:
— Разбор структуры курса
— Ответы на частые вопросы студентов
— Примеры из реальных проектов с AI-агентами
— И, конечно, как это всё можно использовать в работе прямо сейчас
А если уже всё понял и хочешь идти учиться — лови промокод
🔗 Ссылка на курс
P.s. Ждем тебя!
❤2🥱1
Уменьшение размера скомпилированного C++ приложения с помощью
strip
.strip --strip-debug --strip-unneeded ./your_app
•
g++ -Os -s -DNDEBUG file.cpp
— оптимизация размера при компиляции•
upx --best ./your_app
— сжатие исполняемого файла (требует upx)•
objdump -t ./app | wc -l
— количество символов в файлеБиблиотека C/C++ разработчика
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
🔥 Многопоточность в C++: почему std::thread до сих пор популярнее coroutines?
Жесткая правда:
✅ std::thread — понятно, работает везде
✅ std::async — удобно для простых задач
🤷 coroutines — мощно, но никто не понимает как
Реальный кейс: переписывал сетевой сервер с
Непопулярное мнение: Coroutines в C++20 — это недоделанная фича. В Rust и Go сделали лучше.
👇 А что думаете вы? Какой подход используешь в продакшене? Что выбираешь для новых проектов?
🔥 std::thread (надежно и понятно)
👏 std::async (просто и элегантно)
❤️ coroutines (будущее уже здесь)
👾 thread pool библиотеки (практично)
Библиотека C/C++ разработчика #междусобойчик
C++20 дал нам coroutines, но посмотрите на любой проект — везде std::thread и std::async. Совпадение? Не думаю!
Жесткая правда:
✅ std::thread — понятно, работает везде
✅ std::async — удобно для простых задач
🤷 coroutines — мощно, но никто не понимает как
Реальный кейс: переписывал сетевой сервер с
threads
на coroutines
. Результат? -30% производительности, +200% времени на отладку.Непопулярное мнение: Coroutines в C++20 — это недоделанная фича. В Rust и Go сделали лучше.
// 2025 год, а мы все еще пишем:
std::thread t([]{
// do work
});
t.join();
👇 А что думаете вы? Какой подход используешь в продакшене? Что выбираешь для новых проектов?
🔥 std::thread (надежно и понятно)
👏 std::async (просто и элегантно)
❤️ coroutines (будущее уже здесь)
👾 thread pool библиотеки (практично)
Библиотека C/C++ разработчика #междусобойчик
🔥29👾10👏6❤3🥱1
📰 Свеженькое из мира C++
Недельный дайджест новостей о разных аспектах программирования и интересных проектах в мире C++.
🥳 Интересное:
• Address Sanitizer в Visual Studio 2022 — улучшение средств разработки почти всегда приводит к улучшению качества кода
• Когда метрики мотивируют неправильно — иногда метрики это зло, а иногда ещё большее зло
😎 Полезное:
• C++ Concepts — типобезопасность на новом уровне — использование концептов может сделать код более читаемым
• Создание модулей C++20 для быстрой компиляции — модули в C++ это то что мы все так долго ждали, но пока ещё ждём
• Оптимизация размера исполняемого файла — полезные трюки по уменьшению размера бинарника
🖨️Интересные проекты:
• YimMenuV2 — Экспериментальное меню для GTA 5
• RTranslator — это (почти) бесплатное приложение для перевода в режиме реального времени с открытым исходным кодом в автономном режиме для Android
• spdlog — быстрая библиотека логирования на C++
Библиотека C/C++ разработчика #свежак
Недельный дайджест новостей о разных аспектах программирования и интересных проектах в мире C++.
🥳 Интересное:
• Address Sanitizer в Visual Studio 2022 — улучшение средств разработки почти всегда приводит к улучшению качества кода
• Когда метрики мотивируют неправильно — иногда метрики это зло, а иногда ещё большее зло
😎 Полезное:
• C++ Concepts — типобезопасность на новом уровне — использование концептов может сделать код более читаемым
• Создание модулей C++20 для быстрой компиляции — модули в C++ это то что мы все так долго ждали, но пока ещё ждём
• Оптимизация размера исполняемого файла — полезные трюки по уменьшению размера бинарника
🖨️Интересные проекты:
• YimMenuV2 — Экспериментальное меню для GTA 5
• RTranslator — это (почти) бесплатное приложение для перевода в режиме реального времени с открытым исходным кодом в автономном режиме для Android
• spdlog — быстрая библиотека логирования на C++
Библиотека C/C++ разработчика #свежак
❤5👍1👏1😁1
Forwarded from Библиотека собеса по C++ | вопросы с собеседований
Какое нововведение в C++23 касается оператора []?
Anonymous Quiz
37%
Множественные индексы в одних скобках
11%
Статические операторы индексирования
25%
Первые два варианта верны
11%
Операторы индексирования для rvalue
15%
Концепты для операторов
🌚12
🏖️ Подборка вакансий для C++-разработчиков за неделю
C++ developer (KORNFELD) — Удалёнка (Санкт-Петербург)
Разработчик С++ — от 200 000 до 280 000 ₽ Гибрид (Москва)
C++ Developer — 4 200 — 6 600 € Офис (Берлин)
C++ Developer in L2/L3 (Радиочастотный центр) — от 250 000 ₽ Удалёнка
➡️ Еще больше топовых вакансий — в нашем канале C++ jobs
Библиотека C/C++ разработчика
C++ developer (KORNFELD) — Удалёнка (Санкт-Петербург)
Разработчик С++ — от 200 000 до 280 000 ₽ Гибрид (Москва)
C++ Developer — 4 200 — 6 600 € Офис (Берлин)
C++ Developer in L2/L3 (Радиочастотный центр) — от 250 000 ₽ Удалёнка
➡️ Еще больше топовых вакансий — в нашем канале C++ jobs
Библиотека C/C++ разработчика
🎨 Qt Quick/QML — декларативный UI для C++ приложений
Если хотите создавать современные, анимированные интерфейсы без
Qt Quick — это декларативный framework для создания
👉 Установка:
💡 Примеры использования:
Дополнительные возможности:
— Встроенная поддержка анимаций
— Биндинг данных с C++ моделями
— Кастомные компоненты
— Горячая перезагрузка во время разработки
🔍 Интеграция с C++:
Библиотека C/C++ разработчика #буст
Если хотите создавать современные, анимированные интерфейсы без
HTML/CSS
, то Qt Quick
хороший выбор.Qt Quick — это декларативный framework для создания
UI
с использованием языка QML
. Позволяет легко создавать анимации, переходы и современные интерфейсы, интегрируясь с C++
логикой.👉 Установка:
# Часть Qt framework
# Установка через Qt Online Installer
# Или sudo apt install qtquick2-dev qtdeclarative5-dev
💡 Примеры использования:
// main.qml
import QtQuick 2.15
Rectangle {
width: 300; height: 200
color: "lightblue"
Text {
anchors.centerIn: parent
text: "Hello QML!"
}
}
Дополнительные возможности:
— Встроенная поддержка анимаций
— Биндинг данных с C++ моделями
— Кастомные компоненты
— Горячая перезагрузка во время разработки
🔍 Интеграция с C++:
class Backend : public QObject {
Q_OBJECT
Q_PROPERTY(QString data READ data NOTIFY dataChanged)
public slots:
void updateData() { /* логика */ }
};
qmlRegisterType<Backend>("com.myapp", 1, 0, "Backend");
Библиотека C/C++ разработчика #буст
👍7❤3😢1
🔥 Отладка сопрограмм C++
💡
❗ Ключевые моменты доклада:
• компилятор
• утечка памяти при отсутствии вызова delete и неопределенное поведение при многократном возобновлении
• особенности работы с планировщиками и параллельным выполнением задач
• техники отладки многопоточного кода с замораживанием потоков
Основной фокус — практические проблемы управления жизненным циклом сопрограмм и способы их диагностики в отладчике.
Особенно актуально для разработчиков, которые планируют внедрять асинхронное программирование с использованием сопрограмм
Вы узнаете, что простое добавление
👉 Видео
Библиотека C/C++ разработчика
💡
Андре Бранд
на C++Online 2025
разбирает практические аспекты отладки сопрограмм, с которыми сталкиваются разработчики.❗ Ключевые моменты доклада:
• компилятор
C++20
создает фрейм сопрограммы, но уничтожение остается задачей программиста• утечка памяти при отсутствии вызова delete и неопределенное поведение при многократном возобновлении
• особенности работы с планировщиками и параллельным выполнением задач
• техники отладки многопоточного кода с замораживанием потоков
Основной фокус — практические проблемы управления жизненным циклом сопрограмм и способы их диагностики в отладчике.
Особенно актуально для разработчиков, которые планируют внедрять асинхронное программирование с использованием сопрограмм
C++20
в production-коде.Вы узнаете, что простое добавление
co_await
и co_yield
без понимания механизмов управления памятью и жизненным циклом может превратить код в источник трудноотлавливаемых багов.👉 Видео
Библиотека C/C++ разработчика
🔥6❤2👍1
Правильная обработка ошибок отличает профессиональный код от любительского. Исключения в C++ позволяют писать надежные программы без засорения кода проверками возвращаемых значений.
✅ Изучи исключения C++
✅ Документация
Библиотека C/C++ разработчика
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🥰1