Вышла версия свободного архиватора 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 и новее.
@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤4🔥2
Состоялся релиз третьей мажорной версии легковесной интегрированной среды разработки 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.
@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18❤6🔥5
Media is too big
VIEW IN TELEGRAM
Константин Владимиров
В языке 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
В чем проблема?
Если ваше программное обеспечение не проверяет и не устраняет ошибки, ваша программа может быть ненадежной. Клиенты сочтут это некачественным программным обеспечением.
Многие реальные программы не должны завершаться аварийно, и не только те, которые управляют медицинскими приборами или ракетами.
Если исключения не используются или не обрабатываются должным образом, процесс завершается аварийно. При вызове std::abort() или если реализация не разворачивает стек перед вызовом std::terminate(), деструкторы объектов могут не вызываться, а внешние ресурсы могут оставаться в неопределенном состоянии. Ненормальное завершение процесса - типичный вектор для атак типа "отказ в обслуживании" (DOS).
https://nexwebsites.com/blog/cpp_exceptions/
#cpp #programming
👍13🔥2❤1😁1
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.
Большой упор сделан на производительность
@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14❤1🔥1🤡1
fmt представляет собой быструю и безопасную альтернативу stdio из C и iostreams из C++
@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21❤4🥰1
This media is not supported in your browser
VIEW IN TELEGRAM
—
pip install codechecker
CodeChecker — это целая инфраструктура статического анализа, построенная на основе инструментария LLVM/Clang Static Analyzer и заменяющая scan-build в среде разработки Linux или macOS.
Также существует прекрасный плагин для VSCode
@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10👍5❤1
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
На этом занятии мы поговорим о стандарте 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пискjr полезных ресурсов для изучения CИ с нуля
• В статье представлены различные области, в которых автор нуждался в дополнительном разъяснении
• Автор предлагает начать свой собственный проект, выбрав тему, которая действительно интересует
• Для изучения внутренней части ОС x86-64 рекомендуется разработка драйвера ядра и руткита
👉 Ссылочка
👉 Roadmap по C++
@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🔥3❤2
libdatachannel стремится быть простой и легкой библиотекой, с минимальным количеством внешних зависимостей, чтобы обеспечить прямое соединение между приложениями и веб-браузерами без необходимости импортировать какую-то раздутую библиотеку.
Интерфейс состоит из несколько упрощенных версий JavaScript WebRTC и WebSocket API, присутствующих в браузерах, чтобы облегчить разработку кросс-окружающих приложений.
libdatachannel написана на C++17 и имеет привязку к языку C.
@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20🔥4❤2
—
conda install -c pytorch faiss-cpu
Faiss — это библиотека для эффективного поиска сходства и кластеризации векторов. Faiss содержит алгоритмы поиска в наборах векторов любого размера, вплоть до таких, которые, возможно, не поместятся в оперативной памяти. Библиотека также содержит вспомогательный код для оценки и настройки параметров.
Faiss написана на C++, имеет удобный интерфейс для использования из Python. Часть из наиболее полезных и ресурсоёмких алгоритмов спроектированы для распараллеливания на GPU.
@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16🔥3❤2
Одна из самых быстрых JSON-библиотек в мире. Glaze позволяет упростить интерфейсы и обеспечить высокую производительность.
@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥24❤8👍3🦄1
Catch2 в основном для модульного тестирования C++, но он также предоставляет базовые функции микробенчмаркинга и простые возможности BDD.
Главное преимущество Catch2 в том, что его можно использовать просто и естественно. Имена тестов не обязательно должны быть валидными идентификаторами, а утверждения выглядят как обычные булевы выражения C++.
@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14❤4🔥2
oneDNN предоставляет ряд базовых строительных блоков для задач Deep Learning.
Библиотека оптимизирована для процессоров архитектуры Intel, Intel Graphics и процессоров на базе 64-битной архитектуры Arm (AArch64).
Также oneDNN имеет экспериментальную поддержку следующих архитектур: NVIDIA GPU, AMD GPU, OpenPOWER Power ISA (PPC64), IBMz (s390x) и RISC-V.
@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤5🔥3🤔2