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

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

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

Полезные материалы по всему, что может быть полезно плюсовику/сишнику. По всем вопросам @evgenycarter

إظهار المزيد
7 222
المشتركون
-324 ساعات
-227 أيام
-4630 أيام
أرشيف المشاركات
#cpp #programming 👉 @cpp_lib
#cpp #programming 👉 @cpp_lib

⚙️Уже работаете с Rust, но хотите эффективно интегрировать его с другими языками? Или интересуетесь, как устроен процесс сбор
⚙️Уже работаете с Rust, но хотите эффективно интегрировать его с другими языками? Или интересуетесь, как устроен процесс сборки и линковки в этом языке? 🗓На открытом вебинаре 24 апреля в 20:00 мск мы подробно разберем, как собирать и линковать библиотеки в Rust, как использовать Rust-библиотеки в других языках, а также реализуем Си ABI (Application Binary Interface). Вы получите знания, которые помогут вам повысить производительность ваших проектов и интегрировать Rust в существующие решения. 👨‍💻Урок будет полезен всем, кто хочет углубить свои знания в Rust, повысить квалификацию и навыки работы с библиотеками и системами. Вы сможете применять полученные знания в реальных проектах. 👉Присоединяйтесь к открытому вебинару и получите скидку на большое обучение «Rust Developer. Professional»: https://vk.cc/cL2YJr Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

🚀 CUTE_HEADERS - Коллекция кроссплатформенных однофайловых библиотек на C/C++ без зависимостей, в основном используемых для
🚀 CUTE_HEADERS - Коллекция кроссплатформенных однофайловых библиотек на C/C++ без зависимостей, в основном используемых для разработки игр. 🔹 Математика (векторы, матрицы) 🔹 Системы частиц 🔹 Аудио и таймеры 🔹 Работа с файлами 🔹 Простая физика и коллизии 🔹 Анимация и графика 🔹 И многое другое! Все библиотеки — в одном .h файле, без зависимостей. Отлично подходят для маленьких проектов, прототипов и учебных задач. https://github.com/RandyGaul/cute_headers #cpp #programming 👉 @cpp_lib

Линус Торвальдс: Критика C++ — Комплексный анализ Линус Торвальдс, создатель (и великодушный диктатор) Linux, всегда с особой
Линус Торвальдс: Критика C++ — Комплексный анализ Линус Торвальдс, создатель (и великодушный диктатор) Linux, всегда с особой критикой относился к C++, объясняя почему он отвергает его в разработке ядра Linux. Но он не просто резко высказывается против использования C++, а приводит ряд аргументов, которые мы с вами сегодня и рассмотрим. В чем причина неприятия C++? Давайте рассмотрим аргументы, которые Линус приводит против его использования. C и C++ очень похожи друг на друга, но все‑таки это не одно и то же. C++ является объектно‑ориентированной версией C. Некоторые даже называют его преемником C. Однако C++ представляет из себя скорее расширение языка C, нежели его полноценную замену. Он добавляет такие функции, как объекты, конструкторы, деструкторы, шаблоны, обработка исключений, пространства имен и перегрузка операторов. Эти расширения приносят с собой свои собственные парадигмы и проблемы. Неудивительно, что все технические аргументы Линуса против C++ связаны именно с этими расширениями. https://habr.com/ru/companies/otus/articles/902724/ original https://medium.com/@jankammerath/linus-torvalds-critique-of-c-a-comprehensive-review-ea8374084abf #cpp #programming 👉 @cpp_lib

📕Открытый урок об управлении микроклиматом с помощью микроконтроллеров для радиолюбителей, разработчиков встраемого ПО, инже
📕Открытый урок об управлении микроклиматом с помощью микроконтроллеров для радиолюбителей, разработчиков встраемого ПО, инженеров, разработчиков электроники и инженеров-схемотехников. На открытом уроке 21 апреля в 20:00 мск мы погрузимся в тонкости подключения и программировании системы управления микроклиматом с помощью микроконтроллеров. 📗В результате вы: - Узнаете, как подключить к микроконтроллеру и запрограммировать датчики температуры, влажности и исполнительное устройство; - Разберетесь, как сделать прототип системы, которая управляет микроклиматом сама; - Освоите на практике техники управления макетом по WiFi с мобильного телефона или компьютера с помощью создания простого web-сайта. Спикер Игорь Морозов — эксперт в сфере Embedded Development, 15+ лет в разработке и управлении IT-проектами, технический директор стартапа по созданию робототехнических устройств с элементами машинного зрения. 👉Регистрируйтесь прямо сейчас, чтобы не пропустить мероприятие: https://vk.cc/cKX0zr 📙Все участники открытого урока получат скидку на курс "Embedded Developer" Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Практика языка C (МФТИ, 2023-2024). Допсеминар: системы сборки (make, cmake). 00:00 Зависимости и хедера 08:22 Build.sh 11:48 Makefiles и декларативная модель 19:51 Ленивые и переменные 30:52 Автоматические переменные 36:15 Первая версия makefile 41:33 Функции и wildcards 47:40 Вторая версия makefile и зависимости от хедеров 56:36 Третья итерация: почти идеальный makefile 01:06:26 Знакомство с cmake 01:19:35 Бонус. Немного больше про cmake. 01:30:40 Окончательные уроки. источник #cpp #programming 👉 @cpp_lib

🌌 Путешествие в мир Авроры: создаём приложения с Qt/QML 🚀 Российская мобильная ОС Аврора — перспективная платформа для разр
🌌 Путешествие в мир Авроры: создаём приложения с Qt/QML 🚀 Российская мобильная ОС Аврора — перспективная платформа для разработчиков. Хотите узнать, как создавать для неё нативные приложения с помощью Qt/QML? Разбираем всё на открытом вебинаре! 📅 22 апреля в 20:00 🎓 Открытый вебинар с Ксенией Лагутиной 💡 Что разберём? ✅ Почему ОС Аврора — интересная среда для разработки ✅ Как работает Аврора SDK и чем поможет разработчику ✅ С чего начать разработку нативных приложений ✅ Как создать мини-приложение на QML, которое отправляет уведомления в систему 🎯 Что получите? ✔️ Понимание ключевых особенностей ОС Аврора ✔️ Навыки работы с Аврора SDK и Аврора IDE ✔️ Практический опыт создания приложения на QML Присоединяйтесь и погружайтесь в разработку под Аврору! 👉 Регистрируйтесь по ссылке: https://vk.cc/cKVg3i Бесплатное занятие приурочено к старту курса Разработка прикладного ПО на Qt и ОС «Аврора», обучение на котором позволит освоить кросс-платформенный фреймворк Qt. Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Как создать собственное расширение компилятора C++ Создание пользовательского расширения компилятора C++ подразумевает понима
Как создать собственное расширение компилятора C++ Создание пользовательского расширения компилятора C++ подразумевает понимание базовых механизмов работы компиляторов, изменение или расширение их функциональности и бесшовную интеграцию этих изменений в существующую инфраструктуру компилятора. Это руководство проведет вас через весь процесс, от понимания основ до внедрения и тестирования вашего пользовательского расширения. Целевая аудитория этого руководства — разработчики, которые уже знакомы с C++ и имеют базовое понимание концепций компилятора. https://habr.com/ru/articles/870840/ original https://www.w3computing.com/articles/how-to-create-a-custom-cpp-compiler-extension/ #cpp #programming 👉 @cpp_lib

Делаем собственный анализатор C++ кода в виде плагина для Clang Есть много проектов, целью которых является превратить С++ бо
Делаем собственный анализатор C++ кода в виде плагина для Clang Есть много проектов, целью которых является превратить С++ более "безопасный" язык программирования. Но внесение изменений в синтаксис языка обычно нарушает обратную совместимость со старым кодом, который был написан до этого. Недавно вышла новая версия библиотеки memsafe для языка С++, которая превращает его в Rust с помощью плагина Clang добавляет в С++ безопасное управление динамической памятью и контроль инвалидации ссылочных типов данных во время компиляции приложения. Но данная статья не о библиотеке, а об особенностях разработки анализатора программы на С++ в виде плагина для Clang. Можно считать, что это подведение итогов по результатам сравнения нескольких разных способов создания плагина для компилятора С++, а так же очередной Хабрахак для хранения результатов экспериментов и публикации итоговых выводов, которые я решил сохранить не только для себя, но и в виде статьи на Хабре, что бы результатами моего труда могли воспользоваться и другие хорошие люди :-), которым так же может потребоваться погрузиться в дебри парсинга исходного текста программ. https://habr.com/ru/articles/900224/ #cpp #programming 👉 @cpp_lib

Пишем сканер штрихкодов на c++ Штрихкод и с чем его едят на плюсах. Сегодня я покажу вам как я писал простейший сканер штрихк
Пишем сканер штрихкодов на c++ Штрихкод и с чем его едят на плюсах. Сегодня я покажу вам как я писал простейший сканер штрихкодов EAN-8 и EAN-13. Конечно, я мог бы взять готовые и более функциональные сканеры из интернета, НО зачем? Зачем, если можно сделать самому, если можно развить свои навыки и расширить портфолио? Вот и я так подумал... Если вы заинтересовались - я сейчас вам раскачаю про код... https://habr.com/ru/articles/891238/ #cpp #programming 👉 @cpp_lib

🚀 Подпишись и прокачай свои скилы: лучшие каналы для IT-специалистов 👨‍💻📲 Папка с каналами для DevOps, Linux - Windows СисАдминов 👍 Папка с каналами для 1С программистов 🧑‍💻 Папка с каналами для C++ программистов 👩‍💻 Папка с каналами для Python программистов 👩‍💻 Папка с каналами для Java программистов 🖥 Папка с книгами для программистов 📚 Папка для программистов (frontend, backend, iOS, Android) 💻 GitHub Сообщество 🧑‍💻 https://t.me/Githublib Интересное из GitHub Базы данных (Data Base) 🖥 https://t.me/database_info Все про базы данных Разработка игр 📱 https://t.me/game_devv Все о разработке игр БигДата, машинное обучение 🖥 https://t.me/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning QA, тестирование 🖥 https://t.me/testlab_qa Библиотека тестировщика Шутки программистов 📌 https://t.me/itumor Шутки программистов Защита, взлом, безопасность 💻 https://t.me/thehaking Канал о кибербезопасности https://t.me/xakep_2 Хакер Free Книги, статьи для дизайнеров 🎨 https://t.me/ux_web Статьи, книги для дизайнеров Математика 🧮 https://t.me/Pomatematike Канал по математике https://t.me/phis_mat Обучающие видео, книги по Физике и Математике Excel лайфхак🙃 https://t.me/Excel_lifehack Технологии 🖥 https://t.me/tikon_1 Новости высоких технологий, науки и техники💡 https://t.me/mir_teh Мир технологий (Technology World) Вакансии 💰 https://t.me/sysadmin_rabota Системный Администратор https://t.me/progjob Вакансии в IT https://t.me/rabota1C_rus Вакансии для программистов 1С

🔹 C++26: ошибочное поведение (Erroneous Behaviour) В C++ мы обычно говорим о двух категориях поведения: – определённое поведение (well-defined) – неопределённое поведение (undefined behaviour, UB) Второе — одно из самых пугающих понятий в языке. Это когда программа делает что угодно, и компилятор не обязан предупреждать о проблеме. Примеры UB: выход за границы массива, разыменование нулевого указателя и т.д. Однако в будущем стандарте C++26 вводится новая категория: ошибочное поведение (erroneous behaviour). ❓ Что такое erroneous behaviour? Это ситуация, когда программа ведёт себя неправильно, но компилятор обязан выдать ошибку или хотя бы предупреждение. Это промежуточный уровень между "всё хорошо" и "всё ужасно и не предсказуемо". Erroneous behaviour позволяет: - Сохранить производительность (в отличие от полного исключения или runtime-проверок) - Сделать поведение программы более предсказуемым - Упростить диагностику проблем 📌 Пример Допустим, в constexpr-функции вызывается функция, не являющаяся constexpr. Сейчас это UB, но в C++26 это будет квалифицироваться как erroneous behaviour, и компилятор обязан будет выдать ошибку на этапе компиляции.

constexpr int foo() {
    return std::time(nullptr); // std::time не является constexpr
}
Такой код сейчас может пройти компиляцию при определённых условиях, но в будущем — нет. 🧩 Отличие от UB и других видов поведения - UB — компилятор может делать что угодно (не выдавать ошибку, не предупреждать, и т.д.) - Implementation-defined — конкретная реализация (компилятор) должна задокументировать поведение - Erroneous behaviour — компилятор обязан ругаться 🤔 Почему это важно? Эта категория позволяет более чётко определять границы корректного кода и помогает разработчикам избегать трудноуловимых багов. Это шаг к более строгой и безопасной разработке на C++ без жёстких ограничений на производительность. https://www.sandordargo.com/blog/2025/02/05/cpp26-erroneous-behaviour #cpp #programming 👉 @cpp_lib

📈Плоские контейнеры и C++: как оптимизировать производительность и память Пытаетесь сделать код быстрее и экономичнее? Время
📈Плоские контейнеры и C++: как оптимизировать производительность и память Пытаетесь сделать код быстрее и экономичнее? Время научиться использовать плоские контейнеры в C++! На открытом уроке 15 апреля в 20:00 мск мы разберемся, что такое плоские контейнеры! Что вас ждет: - Описание плоских контейнеров в C++: какие они бывают и чем отличаются от стандартных. - Реальные примеры, когда и почему плоские контейнеры — это ваша идеальная пара для эффективной работы с данными. - Практическая часть: сравнение с традиционными контейнерами и примеры применения на реальных задачах. Кому будет полезно: • Программистам C++, работающим с большими объемами данных. • Разработчикам высокопроизводительных приложений и игр. • Инженерам, которым нужно минимизировать использование памяти и повысить эффективность. 👉Регистрируйтесь прямо сейчас и получите скидку на большое обучение «C++ Developer. Professional»: https://vk.cc/cKG7if Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

👨‍💻 Учебный репозиторий по указателям в C: Минималистичный и очень понятный туториал, охватывающий ключевые аспекты работы с указателями: - базовая работа с указателями - арифметика указателей - работа с массивами через указатели - передача аргументов по ссылке - указатели на функции - двойные указатели Каждый пример — это отдельный .c -файл с подробными комментариями. Можно компилировать и запускать по порядку, чтобы получить последовательное понимание темы. Отличный ресурс как для начинающих, так и для практикующих C-программистов. https://github.com/jflaherty/ptrtut13/tree/master #cpp #programming 👉 @cpp_lib

📦 cpp-sort — это коллекция высокоэффективных алгоритмов сортировки, написанная на C++. Она предоставляет как классические ал
📦 cpp-sort — это коллекция высокоэффективных алгоритмов сортировки, написанная на C++. Она предоставляет как классические алгоритмы (например, quicksort, mergesort), так и более современные, такие как ska_sort и spreadsort. 🔧 Основные особенности: - Простое подключение - Упор на производительность: множество алгоритмов оптимизированы под современные CPU - Совместимость с std::sort и пользовательскими компараторами - Некоторые алгоритмы устойчивы (stable), другие — нет (для повышения скорости) - Поддержка сортировки по ключу (projection) 💡 Если ты работаешь с C++ и тебе нужна кастомная или быстрая сортировка — обязательно стоит взглянуть. Особенно если std::sort не даёт нужного эффекта. https://github.com/Morwenn/cpp-sort #cpp #programming 👉 @cpp_lib

📕Открытый урок об оцифровке сигналов в микроконтроллере ESP32 для радиолюбителей, разработчиков встраемого ПО, инженеров, ра
📕Открытый урок об оцифровке сигналов в микроконтроллере ESP32 для радиолюбителей, разработчиков встраемого ПО, инженеров, разработчиков электроники и инженеров-схемотехников. На открытом уроке 10 апреля в 20:00 мск мы погрузимся в процессы и тонкости оцифровки сигнало на пример микроконтроллера ESP32. 📗 В результате вы: - Узнаете всё об особенностях и нюансах схемотехники при проектировании тракта АЦП; - Поймете, как работать с АЦП на примере ESP32: от расчета погрешностей и калибровки до различных методов фильтрации сигналов; - Научитесь на практике использовать все основные параметры АЦП и увидите их влияние вживую. Спикер Марат Боранбаев — эксперт в сфере Fullstack Embedding, 10+ лет в разработке и преподавании, занимается разработкой для системы бортового радиотехнического комплекса космического аппарата на базе МК STM32. 👉 Регистрируйтесь прямо сейчас, чтобы не пропустить мероприятие: https://vk.cc/cKBBx8 📙 Все участники открытого урока получат скидку на курс "Embedded Developer" Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Эльбрус стал намного ближе Недавно МЦСТ опубликовала кросскомпилятор для «Эльбрус». Это большой шаг в развитии платформы. Теп
Эльбрус стал намного ближе Недавно МЦСТ опубликовала кросскомпилятор для «Эльбрус». Это большой шаг в развитии платформы. Теперь любой человек может собрать программу под е2к на своем домашнем компьютере. В этой статье вас ждет инструкция по ручному развертыванию всего окружения для разработки под е2к, скрипт для автоматического развертывания, а также Docker-контейнер с готовым окружением. Благодаря контейнеру процесс развертывания упрощается до вызова одной команды, а также он позволяет работать даже на Windows. Если вы хотели попробовать собрать свой код или какой-нибудь другой код под «Эльбрус», то сейчас самое время. https://habr.com/ru/articles/898040/ #cpp #programming 👉 @cpp_lib

Сборка проектов Си и Си++: от простого к сложному. Часть II. Сборщики Продолжаю тему о сборке проектов на Си и Си++, первая ч
Сборка проектов Си и Си++: от простого к сложному. Часть II. Сборщики Продолжаю тему о сборке проектов на Си и Си++, первая часть которой размещена здесь. Рецепты сборки по правилам хорошего тона должны поставляться с проектом и очень желательно, чтобы они не были привязаны к конкретной ОС или хотя бы к конкретному дистрибутиву Linux, используя специфические команды вроде apt-get, yum, emerge. Если это небольшой пет-проект выходного дня, то, конечно, в качестве рецепта сгодится и bash-скрипт. Пользователи адаптируют. Но если к проекту подключаются другие разработчики, то лучше потратить время на автоматизацию сборки, чтобы не терять его оптом в будущем. В этой части речь пойдёт об инструментах, которые используются для автоматизации процесса сборки программного обеспечения. https://habr.com/ru/companies/ruvds/articles/875620/ #cpp #programming 👉 @cpp_lib

Сборка проектов Си и Си++: от простого к сложному. Часть I. Библиотеки Каждый раз, в течение многих лет, собирая пилотную вер
Сборка проектов Си и Си++: от простого к сложному. Часть I. Библиотеки Каждый раз, в течение многих лет, собирая пилотную версию мизерного проекта или простой утилиты, мне кажется, что уж в этот раз точно обойдусь обычным скриптом для сборки, и никакие сборщики проекта мне не понадобятся. Но суровая реальность приводит меня в чувство уже в течение первых нескольких минут работы. Сначала оказывается, что до невозможности простая программка нуждается в JSON-парсере, HTTP-запросах CURL и прочих библиотеках. А по мере возбуждения хотелок эти все зависимости нарастают как снежный ком. И все мечты быстро скомпилировать страничку кода встречают на каждом шаге всё новые и новые проблемы. Вот сегодня и расскажу о том, какие бывают способы борьбы с зависимостями и сборки проекта из множества файлов на Си++. Заодно те, кто не любят Си++, смогут порадоваться «прелестям» этого процесса. И хоть тема очень важная для программистов, но я обратил внимание, что даже многолетний опыт не гарантирует понимания этих процессов. Но сразу предупреждаю — история длинная даже с учетом всех попыток не убегать на смежные темы. https://habr.com/ru/companies/ruvds/articles/871940/ #cpp #programming 👉 @cpp_lib

#cpp #programming 👉 @cpp_lib
#cpp #programming 👉 @cpp_lib