Forwarded from Библиотека задач по C++ | тесты, код, задания
Результат компиляции?
Anonymous Quiz
4%
Код выведет 0
11%
Код выведет 10
31%
Undefined behavior
30%
Compilation error
24%
Код выведет мусорное значение
😁2❤1
AI-агенты: когда производительность инференса решает всё
Запуск сложных агентских систем требует оптимизации. Если вы пишете на C++, вам важно понимать, как эти системы устроены на верхнем уровне, чтобы эффективно внедрять их в высоконагруженные решения.
Старт курса сегодня в 19:00 МСК.
Ключевые блоки:
— архитектура мультиагентных систем;
— планирование и использование инструментов;
— интеграция
— концепции
Поймите логику работы современного AI-стека.
Записаться на курс
Запуск сложных агентских систем требует оптимизации. Если вы пишете на C++, вам важно понимать, как эти системы устроены на верхнем уровне, чтобы эффективно внедрять их в высоконагруженные решения.
Старт курса сегодня в 19:00 МСК.
Ключевые блоки:
— архитектура мультиагентных систем;
— планирование и использование инструментов;
— интеграция
RAG и деплой решений;— концепции
Chain-of-Thought и Reasoning.Поймите логику работы современного AI-стека.
Записаться на курс
😁3
🔥 Большой апдейт стандартных Си-библиотек: Glibc 2.43 и newlib 4.6.0
После шести месяцев разработки вышла новая версия GNU C Library 2.43, и это серьёзный релиз, который меняет правила игры для C-разработчиков. Над ним работали 69 контрибьюторов, и теперь библиотека полностью соответствует стандартам ISO C23 и POSIX.1-2024.
🍿 Что нового?
Самое заметное — экспериментальная поддержка Clang для сборки Glibc на платформах aarch64 и x86_64. Наконец-то можно использовать альтернативный компилятор, хотя пока требуется Clang 18+ и совместимый с libgcc runtime.
Для Linux-систем появились две важные функции: mseal() для блокировки изменений частей адресного пространства процесса и openat2() с расширенными флагами безопасности — запретом пересечения точек монтирования, символических ссылок и "../" в путях.
🍪 Новый C23
Стандарт C23 активно интегрируется в библиотеку. Добавлены новые функции вроде free_sized, free_aligned_sized и memset_explicit. Макрос assert теперь поддерживает переменное число аргументов. Интересный момент: функции поиска (strchr, memchr и компания) переопределены как макросы для поддержки const-квалификаторов — это вызвало бурное обсуждение в комьюнити, но решает реальную проблему type safety.
👌 Производительность и безопасность
Из проекта CORE-MATH перенесли оптимизированные математические функции, добавили векторные варианты для AArch64, улучшили производительность множества функций. На AArch64 теперь по умолчанию включены huge pages (2MB) в malloc, а для RISC-V появилась оптимизированная memset с использованием векторного расширения RVV.
✏️ Новость
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#свежак
После шести месяцев разработки вышла новая версия GNU C Library 2.43, и это серьёзный релиз, который меняет правила игры для C-разработчиков. Над ним работали 69 контрибьюторов, и теперь библиотека полностью соответствует стандартам ISO C23 и POSIX.1-2024.
Самое заметное — экспериментальная поддержка Clang для сборки Glibc на платформах aarch64 и x86_64. Наконец-то можно использовать альтернативный компилятор, хотя пока требуется Clang 18+ и совместимый с libgcc runtime.
Для Linux-систем появились две важные функции: mseal() для блокировки изменений частей адресного пространства процесса и openat2() с расширенными флагами безопасности — запретом пересечения точек монтирования, символических ссылок и "../" в путях.
Стандарт C23 активно интегрируется в библиотеку. Добавлены новые функции вроде free_sized, free_aligned_sized и memset_explicit. Макрос assert теперь поддерживает переменное число аргументов. Интересный момент: функции поиска (strchr, memchr и компания) переопределены как макросы для поддержки const-квалификаторов — это вызвало бурное обсуждение в комьюнити, но решает реальную проблему type safety.
Из проекта CORE-MATH перенесли оптимизированные математические функции, добавили векторные варианты для AArch64, улучшили производительность множества функций. На AArch64 теперь по умолчанию включены huge pages (2MB) в malloc, а для RISC-V появилась оптимизированная memset с использованием векторного расширения RVV.
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🙏1
🏠🪴 10 простых советов, как обустроить рабочее место на удаленке и повысить продуктивность
При работе из дома обстановка имеет решающее значение. Правильно организованное рабочее место помогает сосредоточиться, снизить усталость и повысить эффективность.
Ниже я собрала научно обоснованные советы по обустройству домашнего офиса. И конечно же, все рекомендации подкреплены исследованиями (ссылки прилагаются).
👉 Продолжение...
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#свежак
При работе из дома обстановка имеет решающее значение. Правильно организованное рабочее место помогает сосредоточиться, снизить усталость и повысить эффективность.
Ниже я собрала научно обоснованные советы по обустройству домашнего офиса. И конечно же, все рекомендации подкреплены исследованиями (ссылки прилагаются).
👉 Продолжение...
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#свежак
👍3
Оба связаны с pointer provenance и strict aliasing, но решают разные проблемы.
Когда компилятор «знает» значение через const member или reference, он может закешировать его:
struct S { const int x; };
S* p = new (addr) S{42};
p->x; // Компилятор: "всегда 42"
new (p) S{100}; // Переиспользуем память
p->x; // Всё ещё 42? Нет, но компилятор так думает!
auto q = std::launder(p);
q->x; // Правильно: 100launder заставляет компилятор перечитать значение из памяти, игнорируя предыдущие предположения.Он нужен когда объекта физически нет, но память готова:
alignas(int) char buffer[sizeof(int)];
*reinterpret_cast<int*>(buffer) = 42; // UB: нет объекта
int* p = std::start_lifetime_as<int>(buffer);
*p = 42; // OK: объект создан
launder — для существующих объектов с переписанной памятью. start_lifetime_as — для памяти, которая станет объектом.📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#под_капотом
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6❤2👍2👾1
😎 Топ-вакансий для C++ разработчиков за неделю
С++ разработчик — от 300 000 и до 350 000 ₽ Удалёнка
C developer (MES) — Офис (Новосибирск)
Middle C Developer — от 250 000 ₽ Удалёнка
✍️ Еще больше топовых вакансий — в нашем канале C++ jobs
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#буст
С++ разработчик — от 300 000 и до 350 000 ₽ Удалёнка
C developer (MES) — Офис (Новосибирск)
Middle C Developer — от 250 000 ₽ Удалёнка
✍️ Еще больше топовых вакансий — в нашем канале C++ jobs
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#буст
😁2
😼 Коротко о выравнивании в C++
💡 Автор статьи от PVS-Studio детально разбирает, как компилятор на самом деле размещает данные в памяти и почему это критично для производительности.
❗ Ключевые моменты статьи:
• естественное выравнивание и паддинги между переменными
• влияние порядка полей в структурах на итоговый размер
• директива #pragma pack и её опасные последствия
• alignas, alignof и компиляторо-специфичные атрибуты
Основной фокус — практические примеры расположения данных в памяти с детальными схемами и сравнением поведения MSVC и Clang.
Вы узнаете, что один и тот же код может занимать разное количество памяти в зависимости от порядка объявления полей, а неправильное использование
👉 Статья
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#буст
💡 Автор статьи от PVS-Studio детально разбирает, как компилятор на самом деле размещает данные в памяти и почему это критично для производительности.
❗ Ключевые моменты статьи:
• естественное выравнивание и паддинги между переменными
• влияние порядка полей в структурах на итоговый размер
• директива #pragma pack и её опасные последствия
• alignas, alignof и компиляторо-специфичные атрибуты
Основной фокус — практические примеры расположения данных в памяти с детальными схемами и сравнением поведения MSVC и Clang.
Вы узнаете, что один и тот же код может занимать разное количество памяти в зависимости от порядка объявления полей, а неправильное использование
#pragma pack может привести к аппаратным прерываниям на ARM архитектуре вместо ожидаемой экономии памяти.👉 Статья
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#буст
👍7