ar
Feedback
Библиотека C/C++ разработчика | cpp, boost, qt

Библиотека C/C++ разработчика | cpp, boost, qt

الذهاب إلى القناة على Telegram

Все самое полезное для плюсовика и сишника в одном канале. Как запустить своего ии-агента: https://clc.to/tvpmDQ По рекламе: @proglib_adv Для обратной связи: @proglibrary_feeedback_bot РКН: https://gosuslugi.ru/snet/67a5bac324c8ba6dcaa1ad17 #WXSSA

إظهار المزيد

📈 نظرة تحليلية على قناة تيليجرام Библиотека C/C++ разработчика | cpp, boost, qt

تُعد قناة Библиотека C/C++ разработчика | cpp, boost, qt (@cppproglib) في القطاع اللغوي الروسية لاعباً نشطاً. يضم المجتمع حالياً 17 191 مشتركاً، محتلاً المرتبة 7 725 في فئة التكنولوجيات والتطبيقات والمرتبة 39 185 في منطقة روسيا.

📊 مؤشرات الجمهور والحراك

منذ تأسيسه في невідомо، حقق المشروع نمواً سريعاً وجمع 17 191 مشتركاً.

بحسب آخر البيانات بتاريخ 13 يونيو, 2026، تحافظ القناة على نشاط مستقر. خلال آخر 30 يوماً تغيّر عدد الأعضاء بمقدار -16 748، وفي آخر 24 ساعة بمقدار -1، مع بقاء الوصول العام مرتفعاً.

  • حالة التحقق: غير موثّقة
  • معدل التفاعل (ER): يبلغ متوسط تفاعل الجمهور 9.38‎%. وخلال أول 24 ساعة من النشر يحصد المحتوى عادةً 4.93‎% من ردود الفعل نسبةً إلى إجمالي المشتركين.
  • وصول المنشورات: يحصل كل منشور على متوسط 1 613 مشاهدة. وخلال اليوم الأول يجمع عادةً 848 مشاهدة.
  • التفاعلات والاستجابة: يتفاعل الجمهور بانتظام؛ متوسط التفاعلات لكل منشور يبلغ 7.
  • الاهتمامات الموضوعية: يركز المحتوى على مواضيع رئيسية مثل c++, навигация, компилятор, удалёнка, developer.

📝 الوصف وسياسة المحتوى

يصف المؤلف القناة بأنها مساحة للتعبير عن الآراء الذاتية:
Все самое полезное для плюсовика и сишника в одном канале. Как запустить своего ии-агента: https://clc.to/tvpmDQ По рекламе: @proglib_adv Для обратной связи: @proglibrary_feeedback_bot РКН: https://gosuslugi.ru/snet/67a5bac324c8ba6dcaa1ad17 #WXS...

بفضل وتيرة التحديث المرتفعة (أحدث البيانات بتاريخ 14 يونيو, 2026) تحافظ القناة على حداثتها ومستوى وصول مرتفع. وتُظهر التحليلات تفاعلاً نشطاً من الجمهور، ما يجعلها نقطة تأثير مهمة ضمن فئة التكنولوجيات والتطبيقات.

17 191
المشتركون
-124 ساعات
-5 9977 أيام
-16 74830 أيام
أرشيف المشاركات
🤔 очередной #дайджест по С++ 📥 Анализ приложений на C++ для оптимизации производительности — введение в анализ производител
🤔 очередной #дайджест по С++ 📥 Анализ приложений на C++ для оптимизации производительности — введение в анализ производительности программ на C++ 📥 Стремление к улучшению кода на C++ — что такое анализ потоков данных, и какие ошибки может находить CLion 📥 C++23: Удаление поддержки сборки мусора — сказ о поддержке сборки мусора, включенной в C++11 и окончательно удаленной в C++23 📥 C++23 chunk view и stride view — видео о новых представлениях (views), добавленных в C++23 📥 Шаблоны для уменьшения размера бинарника — использовании extern template для сокращения размеров бинарных файлов

🤔🎯 Что нового в .NET 8 .NET 8 вышел в релиз, значит можно начинать переносить свои проекты на новую версию. В этой статье рассматриваются новые улучшения и фишки: производительность, Native AOT, GC, новые типы, направленные на повышение производительности, NuGet Audit и прочее. Производительность Microsoft сказали, что представленный в прошлом году .NET 7 очень быстрый, но .NET 8 быстрее. Усовершенствования коснулись: JIT, GC, рефлексии, коллекции, LINQ, кодогенерации, сериализции и десериализции, примитивных типов и многого другого. Native AOT Native AOT использует ahead of time компилятор для компиляции IL в машинный код во время публикации self-contained приложения. В .NET 8 добавлена поддержка архитектур x64 и arm64 на macOS. Native AOT приложения включают в себя .NET runtime. Исходя из этого, они имеют больший размер по сравнению с обычными приложениями. В .NET 8 улучшили и этот аспект. Рассмотрение других ништяков релиза — вот #почитать

🧑‍💻⏳ Обработка строковых литералов во время компиляции С момента добавления constexpr можно многое делать во время компиляции. Одной из таких вещей является обработка строковых литералов. Поиск строк в бинарнике Если вы объявите переменную типа const char* str = «Hello World»;, строка «Hello World» будет в бинарнике. В Linux, macOS и Windows есть команда strings. (для Windows необходимо установить Sysinternals Suite) Запуск strings [your_binary] выведет список всех строк — «Hello World» должен быть среди них. Далее примеры кода и несколько фишек #гайд

🧑‍🍳📊 The Ranges Library в C++20 Благодаря библиотеке ranges работа с библиотекой STL стала намного удобнее. Прежде всего, алгоритмы библиотеки ranges ленивы, могут работать непосредственно с контейнером и могут быть закомпожены. Кроме того, библиотека ranges имеет несколько уникальных дизайнерских решений. Непосредственно в контейнере Библиотека ranges позволяет контейнеру, такому как std::ranges::sort, напрямую работать с контейнером. Напротив, классический std::sort работает с диапазоном, определенным двумя итераторами: std:sort(myVec.begin(), myVec.end()). Продолжение истории вот #гайд

🎢🚀 Диспетчер задач для микроконтроллера В программировании микроконтроллеров часто нужно написать простые тестировочные прошивки. При этом надо некоторые функции вызывать чаще, а некоторые реже. Для этого конечно можно запустить FreeRTOS, однако тогда код не будет переносим на другие RTOS, например Zephyr RTOS/TI-RTOS/RTEMS/Keil RTX/Azure RTOS или SafeRTOS. Потом прошивку как код часто приходится частично отлаживать на PC а там никакой RTOS в помине нет. Поэтому надо держать наготове какой-нибудь простенький универсальный переносимый кооперативный NoRTOS планировщик с минимальной диагностикой и возможностью в run-time отключать какие-то отдельные задачи для отладки оставшихся. Проще говоря нужен диспетчер задач для микроконтроллера. Углубленный разбор ожидает тут

forward_list::splice_after() Это встроенная функция в CPP STL, которая переносит элементы в диапазоне от first+1 до last из д
forward_list::splice_after() Это встроенная функция в CPP STL, которая переносит элементы в диапазоне от first+1 до last из данного forward_list в другой forward_list. Элементы вставляются после элемента, на который указывает позиция в параметре. Синтаксис:
forwardlist1_name.splice_after(position iterator, forwardlist2_name,first iterator, last iterator)
Параметры: функция принимает четыре параметра: position – позиция в forward_list, после которой должны быть вставлены новые элементы. forwardlist2_name – список, из которого должны быть вставлены элементы. first – итератор, после которого должна быть выполнена вставка. last – итератор, до которого должна быть выполнена вставка.

🤔 очередной #дайджест по С++ 🟢 С++ производительность и щепотка безопасности — обсуждение того, за что программисты любят C
🤔 очередной #дайджест по С++ 🟢 С++ производительность и щепотка безопасности — обсуждение того, за что программисты любят C++ 🟢 Как сравнить целые числа со знаком и без знака — cравнивать два числа должно быть легко, не так ли? Возможно, так и должно быть, но не в C++ 🟢 Устранение расхождений в истории git commit после операций переименования с учетом регистра — мучения с изменением значений git config core.ignorecase 🟢 Простая в реализации arena-friendly hash map — в статье демонстрируется методика создания хэш-мапов в сочетании с arena allocation 🟢 О хранении изображений в памяти с выравниванием — будет немножко кода на Си и ассемблере, пара LabVIEW скриншотов, а также базовые знания OpenCV

#memes Айтишники спешат с работы в пятницу вечером

Что используется для ручного написания таблицы подстановки?
Anonymous voting

🔥 Время прокачивать свои навыки и RustИ !!! 🫵 Проверь себя - пройди тест по Rust 🫵 Ответишь успешно — пройдёшь на курс «Ru
🔥 Время прокачивать свои навыки и RustИ !!! 🫵 Проверь себя - пройди тест по Rust 🫵 Ответишь успешно — пройдёшь на курс «Rust Developer. Professional» от Отус по специальной цене. Сегодня изучаешь Rust - завтра растет твоя ЗП! ➡️ ПРОЙТИ ТЕСТ: https://otus.pw/riQGm/ 💥 Бонусом за успешно пройденный тест, получишь доступ к записям лучших открытых уроков курса. Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru Erid 2Vtzqv76qoe

std::array и std::vector std::array — это обёртка вокруг обычного массива, фиксированного размера, а std::vector — это динамически расширяемый массив. std::array хранит свои данные в стековой памяти, а vector выделяет память в куче (динамическая память). У std::array в параметрах шаблона указывается тип хранимых элементов и размер массива. А у std::vector - тип элементов и ещё возможно указать аллокатор, который нужно использовать при выделении памяти (с помощью new). std::array чуть лучше по производительности в случае небольшого массива, чем std::vector, который содержит в себе несколько указателей, указывающих на выделенный в куче кусок памяти.

💹⚖️ Измерение частоты на STM32 Рассказ о различных методах измерения частоты прямоугольного сигнала с помощью микроконтроллера STM32. В процессе работы над одной из железок у автора возникла необходимость организовать несколько выводов, которые бы измеряли частоту входного сигнала. Опробовав несколько разных вариантов, он решил, что негоже примерам пылиться на задворках диска D и стоит ими поделиться с сообществом. Начальные условия: частота входного сигнала от 0 до 10 кГц. Микроконтроллер STM32F103C8T6, всем известная плата bluepill. Библиотека HAL. Источником сигнала, частота которого будет измеряться, для проверки работоспособности будет служить двухканальный генератор частоты JDS6600. Будет использовать модуль CH340G (Преобразователь USB — UART) для передачи данных в терминал (terminal v1.9b) для наглядности. В него будет посылаться полученное после обработки значение. Читайте дальше тут #туториал

🤓🧑‍🎓 Синтаксический разбор CSV строчек В программировании микроконтроллеров часто надо производить синтаксический разбор (парсинг) CSV строчек. CSV это просто последовательность символов, которые разделены запятой (или любым другим одиночным символом: ; | /). 1️⃣ CSV строчки можно, например, повстречать в NMEA протоколе от навигационных GNSS приемников. Вот пример NMEA протокола:
$GNGGA,102030.000,5546.95900,N,03740.69200,E,1,08,2.0,142.0,M,0.0,M,,*
$GNGLL,5546.95900,N,03740.69200,E,102030.000,A,A*
$GNGSA,A,3,10,16,18,20,26,27,,,,,,,4.8,2.0,4.3,1*
$GNGSA,A,3,19, , , , , ,,,,,,,4.8,2.0,4.3,4*
$GNGSA,A,3,82, , , , , ,,,,,,,4.8,2.0,4.3,2*
2️⃣ Потом, любой URL (например https://proglib.io/) это, в сущности, та же самая пресловутая CSV строчка, где разделитель это /. 3️⃣ Также компонент CSV позволит одной строчкой в UART-CLI консоли прошивки распознавать и запускать на исполнение последовательно сразу несколько shell команд. 4️⃣ Прошивка может запросто логировать на SD карту по SPI данные в CSV формате как в файл на FatFS. Потом этот текстовый *.csv файлик можно будет открыть на LapTop(е) любым процессором электронных таблиц. Продолжение здесь

Уже в эту субботу пройдет первая конференция от SberDevices по системной разработке — «Салют, OS DevConf!». Участников ждет м
Уже в эту субботу пройдет первая конференция от SberDevices по системной разработке — «Салют, OS DevConf!». Участников ждет много практики по разработке операционных систем и микроконтроллеров. Среди спикеров от руководители и ведущие разработчики команд SberDevices, «Лаборатория Касперского», «Открытая мобильная платформа», YADRO, «Сбер». В программе: — Как в операционной системе от SberDevices устроен процесс разработки на C++; — Инструменты для поддержания качества кода в операционных системах; — Опыт внедрения инструмента статического анализа кода Clang Tidy на поздней стадии проекта; — Разработка операционной системы на базе Debian Linux: почему лучше сделать своё, чем покупать у вендора. Конференция состоится 18 ноября в offline и online формате. Для участия необходимо зарегистрироваться по ссылке. Реклама. ПАО Сбербанк ИНН 7707083893. erid: 2SDnjcU9bsN

🚶👣 На пути из Web к Native Рассказ о трудностях, которые могут ожидать неопытного человека, который соблазнится нативным программированием. Имея небольшой опыт в веб-программировании, автору казалось, что все не так плохо. И так по началу и было. За вопрос он взялся основательно: без задачи — нет учебы. Он решил поставить перед собой большую цель: давным-давно, играя в ммо, наткнулся на бот-программу, так называемый пакетный кликер. Она отправляла запросы на сервер и заставляла персонажа выполнять в автоматическом режиме невообразимые вещи, что очень впечатлило. По заявлениям автора, он ее сделал всего за 3 часа. И вот, уже не маленький автор решил, что должен сделать так же. Бота выбрал по ряду причин: ➖ Работа с ассемблером. ➖ Какой-никакой GUI. ➖ Сборка и импорт библиотеки. ➖ Мечта детства. Начал с реверсинга, попал на форум Tuts4You и прошел челлендж, состоящий из 40ка reverse_me. Продолжение истории тут #почитать

#вопросы_с_собеседования Перед вами два примера кода для печати вектора. Есть ли преимущества использования одного или другого? Пример 1:
c++
vector vec;
/* ... .. ... */
for (auto itr = vec.begin(); itr != vec.end(); itr++) {
 itr->print();
}
Пример 2:
c++
vector vec;
/* ... .. ... */
for (auto itr = vec.begin(); itr != vec.end(); ++itr) {
 itr->print();
}
Хотя оба кода будут генерировать одинаковые выходные данные, пример 2 является более производительным вариантом. Это связано с тем, что оператор после инкремента itr++ обходится дороже, чем оператор перед инкрементом ++itr. Оператор пост-инкремента генерирует копию элемента, прежде чем приступить к увеличению элемента и возврату копии. Более того, большинство компиляторов автоматически оптимизируют пример 1, неявно преобразуя его в пример 2.

🤔 Очередной #дайджест по С++ ✅ Использование переменных шаблонов для решения крошечной задачи — как шаблоны переменных могут
🤔 Очередной #дайджест по С++ ✅ Использование переменных шаблонов для решения крошечной задачи — как шаблоны переменных могут быть использованы для улучшения читаемости ✅ Создавайте надежные и защищенные программы на C++ — как и какие инструменты использовать для создания ✅ Язык Janet для смертных — раскрываются различные аспекты работы с языком, объяснение синтаксиса и некоторых приемов программирования ✅ Структурированная диагностика в новом окне — рассказ о безумно полезном инструменте, о котором не все знают ✅ Приключения ржавого — как выдрать экранчик из принтера и соорудить поделку😂