C++ Academy
16.5K subscribers
619 photos
127 videos
1 file
583 links
По всем вопросам- @haarrp

@itchannels_telegram - 🔥 best it channels

РКН: clck.ru/3FmxJF
Download Telegram
🖥 Релиз архиватора NanaZip 3.0, написанного на C++/C

Вышла версия свободного архиватора NanaZip 3.0. Код проекта написан на языках C/C++ и распространяется под лицензией NanaZip License.

Проект получил переработанный пользовательский интерфейс, похожим на Windows 11, а также улучшенный темный режим. В коде решения исправлены ранее обнаруженные ошибки. Также в проекте появилась поддержка алгоритма SM3 HASH и все основные улучшения по сравнению с 7-Zip версии 24.05.

Начиная с версии 3.0, NanaZIP делится на две «разновидности»: NanaZip и NanaZip Classic. Основное различие между ними заключается в том, что обычная версия больше не поддерживает 32-битную версию. NanaZip Classic также работает на гораздо более старых версиях Windows (вплоть до Vista), тогда как для стандартного NanaZip требуется Windows 10 версии 2004 и новее.

🖥 GitHub

@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
👍94🔥2
🖥 Дорожная карта по изучению C (+ сборка x86-64 и внутренние устройства ОС) с нуля

Github

@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥64
🖥 Релиз IDE Red Panda C++ 3.0

Состоялся релиз третьей мажорной версии легковесной интегрированной среды разработки Red Panda C++ для языков C, C++ и GNU Assembly. Предыдущая стабильная мажорная версия проекта Red Panda C++ 2.1 вышла в октябре 2022 года.

Согласно данным OpenNET, проект Red Panda C++ продолжает развитие IDE Dev-C++, которая была переписана с Delphi на С++ с использованием библиотеки Qt.
Изначально среда разработки Dev-C++ поддерживала только платформу Windows, но в Red Panda C++ добавлена поддержка платформ Linux и macOS.

🖥 Исходный код проекта опубликован на GitHub под лицензией GPLv3.

@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
👍186🔥5
Media is too big
VIEW IN TELEGRAM
🖥 Семантические процессы в C++
Константин Владимиров

В языке C++ есть синтаксис и семантика. Когда мы говорим о синтаксисе, мы говорим о контекстно-независимых конструкциях, которые просто что-то означают. Например, if — это всегда if.

Но когда мы говорим о семантике, мы сталкиваемся с необходимостью для компилятора что-то сделать или что-то выяснить: разрешить имя, инстанцировать шаблон, вывести тип, вычислить константное выражение. Можно сказать что в каждый такой момент мы стартуем некий процесс, развивающийся по своим правилам. Этот доклад посвящен описанию взаимодействующих семантических процессов в языке, как с точки зрения внутренностей компилятора, так и с точки зрения стандарта языка.

✔️ источник
Please open Telegram to view this post
VIEW IN TELEGRAM
8👍5👎1🔥1
Как исключения C++ легко делают ваше программное обеспечение лучше и безопаснее

В чем проблема?

Если ваше программное обеспечение не проверяет и не устраняет ошибки, ваша программа может быть ненадежной. Клиенты сочтут это некачественным программным обеспечением.
Многие реальные программы не должны завершаться аварийно, и не только те, которые управляют медицинскими приборами или ракетами.
Если исключения не используются или не обрабатываются должным образом, процесс завершается аварийно. При вызове std::abort() или если реализация не разворачивает стек перед вызовом std::terminate(), деструкторы объектов могут не вызываться, а внешние ресурсы могут оставаться в неопределенном состоянии. Ненормальное завершение процесса - типичный вектор для атак типа "отказ в обслуживании" (DOS).

https://nexwebsites.com/blog/cpp_exceptions/

#cpp #programming
👍13🔥21😁1
🖥 Folly — библиотека от Facebook, которая дополняет возможности Boost и std

git clone https://github.com/facebook/folly
cd folly
sudo ./build/fbcode_builder/getdeps.py install-system-deps --recursive


Folly (от "Facebook Open Source Library") — это библиотека компонентов C++17, разработанная с учетом практичности и эффективности. Folly содержит множество основных библиотечных компонентов, широко используемых в Facebook.
Большой упор сделан на производительность

🖥 GitHub

@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
👍141🔥1🤡1
🖥 fmt — это open-source библиотека C++ для форматирования

fmt представляет собой быструю и безопасную альтернативу stdio из C и iostreams из C++

🖥 GitHub
🟡 Страничка fmt

@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍214🥰1
This media is not supported in your browser
VIEW IN TELEGRAM
🖥 CodeChecker — инструмент анализа и расширение для просмотра для Clang Static Analyzer и Clang Tidy

pip install codechecker

CodeChecker — это целая инфраструктура статического анализа, построенная на основе инструментария LLVM/Clang Static Analyzer и заменяющая scan-build в среде разработки Linux или macOS.

Также существует прекрасный плагин для VSCode

🖥 GitHub
🟡 Доки

@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10👍51
Media is too big
VIEW IN TELEGRAM
🚀 Практика языка C (МФТИ, 2023-2024). Интермедия. Стандарт языка C.

На этом занятии мы поговорим о стандарте C. Мы начнём с попытки изобрести очень простой язык программирования и увидим на его примере основные особенности поведения высокоуровневых программ. Далее мы подробно разберём разные формы поведения программ на языке C, познакомимся и потренируемся со стандартом языка.

У нас будет один вставной момент где я учу детей разбивать программы на модули и писать тесты. Это связано с тем что они сейчас делают проекты, можете это пропустить если смотрите эту лекцию в отрыве от основного курса.

В конце я приготовил небольшое рассуждение про важность стандартизации.

00:00 Язык программирования INC и поведение программ
12:38 Семантика и стандарт языка
23:50 Поведение программ
34:15 Неопределённое поведение
47:17 Тренировка в чтении стандарта и время решать задачи
50:20 Немного информации про проект и live coding
01:08:43 Стандарт как источник знаний
01:19:11 Важность стандартизации

источник

#cpp #programming

@cpluspluc
13👍9🔥1🥰1
This media is not supported in your browser
VIEW IN TELEGRAM
🖥 Дорожная карта для изучения C с нуля

• Cпискjr полезных ресурсов для изучения CИ с нуля

• В статье представлены различные области, в которых автор нуждался в дополнительном разъяснении

• Автор предлагает начать свой собственный проект, выбрав тему, которая действительно интересует

• Для изучения внутренней части ОС x86-64 рекомендуется разработка драйвера ядра и руткита

👉 Ссылочка
👉 Roadmap по C++

@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🔥32
🖥 libdatachannel — это open-source библиотека C++, реализующая каналы данных WebRTC, медиа-транспорт WebRTC и WebSockets

libdatachannel стремится быть простой и легкой библиотекой, с минимальным количеством внешних зависимостей, чтобы обеспечить прямое соединение между приложениями и веб-браузерами без необходимости импортировать какую-то раздутую библиотеку.
Интерфейс состоит из несколько упрощенных версий JavaScript WebRTC и WebSocket API, присутствующих в браузерах, чтобы облегчить разработку кросс-окружающих приложений.
libdatachannel написана на C++17 и имеет привязку к языку C.

🖥 GitHub
🟡 Доки

@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20🔥42
🖥 Faiss — библиотека, написанная на C++, для работы с векторами

conda install -c pytorch faiss-cpu

Faiss — это библиотека для эффективного поиска сходства и кластеризации векторов. Faiss содержит алгоритмы поиска в наборах векторов любого размера, вплоть до таких, которые, возможно, не поместятся в оперативной памяти. Библиотека также содержит вспомогательный код для оценки и настройки параметров.

Faiss написана на C++, имеет удобный интерфейс для использования из Python. Часть из наиболее полезных и ресурсоёмких алгоритмов спроектированы для распараллеливания на GPU.

🖥 GitHub
🟡 Доки

@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16🔥32
🖥 glaze — очень быстрая, работающая в памяти библиотека C++ для работы с JSON и интерфейсами

Одна из самых быстрых JSON-библиотек в мире. Glaze позволяет упростить интерфейсы и обеспечить высокую производительность.

🖥 GitHub

@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥248👍3🦄1
🖥 Catch2 — современный фреймворк тестирования на C++ для юнит-тестов, TDD и BDD

Catch2 в основном для модульного тестирования C++, но он также предоставляет базовые функции микробенчмаркинга и простые возможности BDD.

Главное преимущество Catch2 в том, что его можно использовать просто и естественно. Имена тестов не обязательно должны быть валидными идентификаторами, а утверждения выглядят как обычные булевы выражения C++.

🖥 GitHub
🟡 Доки

@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
👍144🔥2
🖥 oneDNN — кроссплатформенная open-source библиотека С++ для приложений Deep Learning

oneDNN предоставляет ряд базовых строительных блоков для задач Deep Learning.
Библиотека оптимизирована для процессоров архитектуры Intel, Intel Graphics и процессоров на базе 64-битной архитектуры Arm (AArch64).
Также oneDNN имеет экспериментальную поддержку следующих архитектур: NVIDIA GPU, AMD GPU, OpenPOWER Power ISA (PPC64), IBMz (s390x) и RISC-V.

🖥 GitHub
🟡 Доки
🟡 Примеры использования oneDNN

@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍125🔥3🤔2