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

@itchannels_telegram - 🔥 best it channels

РКН: clck.ru/3FmxJF
Download Telegram
👩‍💻 maciNTosh — порт Windows NT для PowerPC на компьютеры Power Macintosh. Этот проект позволяет установить и запустить Windows NT 4.0 на системах Macintosh с PowerPC, которые ранее поддерживали только Mac OS. Основные сложности включают в себя адаптацию драйверов и эмуляцию архитектурных особенностей PowerPC, чтобы Windows NT корректно функционировала на этих устройствах.

🌟 Проект ориентирован на энтузиастов ретро-компьютеров и тех, кто интересуется ранними версиями ОС

🔐 Лицензия: GPL-2.0

🖥 Github

@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13👍42💊2😴1
🖥 Вышел mp-units 2.4.0!

🔍 Основные нововведения:

🌟 Рефакторинг ISQ-количеств — поддержка стандартов IEC и ISO, обновленные пространства имён!

🌟 Равенство единиц — улучшено для точности, исключены некорректные сопоставления, например, Джоули и Н*м.

🌟 Универсальный текстовый вывод — поддержка UTF-8 и портативного формата.

🌟 Поддержка Unicode-идентификаторов — добавлены символы, как π и µ.

🌟 Настраиваемая совместимость QuantityLike и QuantityPointLike!

🔗 Подробнее: *клик*

@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
10🔥4👍2
Правительство США хочет, чтобы разработчики прекратили использовать C и C++ в критически важном ПО к 2026 году!

🌟 Все дело в распространенных уязвимостях безопасности памяти, которые составляют 70% от общего числа обнаруженных уязвимостей. Чтобы решить эту проблему, Агентство по кибербезопасности и безопасности инфраструктуры США (CISA) рекомендует разработчикам перейти на языки программирования, безопасные для памяти, такие как Rust, Java, C#, Go, Python и Swift. Эти языки включают встроенную защиту от распространенных ошибок, связанных с памятью, что делает их более безопасными, начиная с кода.

🌟 В действительности же такой сценарий врядли возможен в ближайшие несколько лет, посколько крупные компании не захотят тратить огромное количество ресурсов на перестройку архитектур своих сервисов, а потому разработчики пока могут спать спокойно...

@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
👍24🤔54😁4🙈3🔥2🤬1🖕1🤪1
🖥 Статья: Грязные трюки C++ из userver и Boost!

🌟 Когда мы пишем какой‑то код для userver и для таких сложных проектов, как Boost, периодически мы сталкиваемся с нестандартными проблемами.

И эти нестандартные проблемы требуют нестандартных решений.

Вот о таких решениях мы сегодня и поговорим.

А именно:

Посмотрим, как работают исключения на платформе Linux x86, и сделаем с ними что‑то интересное.

Залезем ещё глубже под капот исключений и сделаем их ещё быстрее.

Сделаем висячую ссылку на невалидный объект, и всё будет хорошо.

А под конец то, что все любим, — погрузимся в шаблонное метапрограммирование.

🔗 Читать дальше: *клик*
🔗 Код из статьи

@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
12👍8🔥4
👩‍💻 Большой плейлист с уроками по созданию различных проектов на языке C!

🔗 Ссылка: *клик*

@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
25🔥8👍5
👩‍💻 Большая бесплатная книга по C! (60+ глав!)

🔗 Ссылка: *клик*

@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
👍218🔥6
🖥 Шпаргалка по C++!

🌟 Эта шпаргалка охватывает основные концепции языка, включая синтаксис, типы данных, управление потоками, функции, массивы, указатели и объектно-ориентированное программирование. В ней также рассмотрены более сложные темы, такие как шаблоны и метапрограммирование, и предоставлены примеры для понимания различных аспектов языка.

🔗 Ссылка: *клик*

@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🔥85🌚3🤨3
👩‍💻 operating-system — учебный проект, иллюстрирующий основные концепции операционных систем!

🌟 В нем рассматриваются такие темы, как управление процессами, планирование задач, работа с памятью и файловыми системами. Проект написан с образовательной целью, чтобы продемонстрировать принципы работы ОС и помочь понять, как реализованы их основные механизмы.

🖥 Github

@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
20🔥7👍5🤨4
🖥 Полезный тред на Reddit, в котором обсуждается возможность использования using namespace std в ответах на собеседовании. Автор треда опасается, что подобным шагом он может отпугнуть потенциального работодателя, продемонстрировав использованием пространства имен свою некомпетентность

🔗 Читать: *клик*

@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
👍164🔥4
🖥 Fil-C - компилятор для языков C и C++, гарантирующий безопасную работу с памятью

На конференции SPLASH'24 Филипп Пизло (Filip Pizlo) презентовал новый открытый C/C++ компилятор Fil-C, который обеспечивает защиту от ошибок, связанных с работой с памятью. Основная цель проекта – полная совместимость с существующими программами на C и C++, чтобы обеспечить безопасную работу с памятью путем простой пересборки кода. Компилятор основан на компонентах проекта LLVM и распространяется под лицензией Apache 2.0, тогда как runtime доступен под лицензией BSD. В отличие от TrapC, который находится на стадии разработки, Fil-C уже готов к сборке существующего кода.

В рамках проекта предлагаются безопасные версии стандартных библиотек C (libc) и C++ (libc++), созданные на основе Musl и LLVM libc++.

Эти библиотеки поддерживают многопоточность, обработку сигналов, маппинг файлов в память (mmap), longjmp/setjmp и обработку исключений в C++. Без изменения исходного кода можно собирать такие проекты, как bzip2, zip, pcre и ncurses. Для сборки OpenSSH, OpenSSL, CPython, SQLite, Lua, Curl, Lynx, jpeg6b, zsh, xzutils и simdutf требуются минимальные модификации.

Защита от проблем с памятью достигается за счет применения 128-разрядных указателей MonoCaps с метаданными для контроля типов и отслеживания границ буферов, а также использования сборщика мусора FUGC, управляющего всеми операциями выделения и освобождения памяти. В случае возникновения ошибок программа немедленно завершает свою работу, предотвращая эксплуатацию возможных уязвимостей.

Комбинация MonoCaps и FUGC позволяет выявлять и устранять все виды ошибок, включая выход за пределы буфера в стеке и куче, обращение к освобожденной памяти, состояния гонок при работе с указателями, проблемы с типом данных (Type Confusion) и некорректное использование va_lists. Также Fil-C дополнительно проверяет границы и типы в буферах, переданных в системные вызовы.

Основной недостаток Fil-C заключается в снижении производительности: на данный момент программы, собранные с помощью этого компилятора, работают медленнее в 1.5–5 раз по сравнению с теми же программами, собранными стандартным способом. Однако разработчики планируют оптимизировать производительность, чтобы замедление составляло максимум 1.5 раза в худшем сценарии и около 1.2 раза в среднем.

🔗Githuib
🔗Видео презентация

@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
👍25🔥84🌭3💊2🥱1
🎮 GDevelop — это бесплатный, кросс-платформенный, open-source движок на JavaScript и C++, предназначенный для создания 2D, 3D и многопользовательских игр.

🌟 Инструмент ориентирован на пользователей без опыта программирования, предлагая интуитивную систему на базе событий для реализации игровой логики. Доступен для разработки игр на iOS, Android, Windows, macOS, Linux и вебе. Программа поддерживает расширения, шаблоны, а также имеет активное сообщество и магазин ассетов.

🖥 Github

@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
👍23🔥76
🖥 tinybvh — библиотека на C++ для построения и обхода иерархии ограничивающих объемов (Bounding Volume Hierarchies, BVH).

Иерархия объемов (англ. Bounding Volume Hierarchy, BVH) в классическом исполнении представляет собой дерево выровненных параллелепипедов, заключающих некоторый объект, подлежащий трассировке. Мы используем термин «трассируемый объект» условно, поскольку в действительности применение BVH в задачах геометрического моделирования далеко не ограничивается лучевыми методами визуализации.

BVH — это универсальный инструмент вычислительной геометрии, эффективный для решения разнообразных алгоритмических задач. Ниже мы поговорим о реализации и применении структур BVH в составе библиотеки геометрического моделирования OpenCascade.

Эта структура данных используется для быстрого определения пересечений в 3D-сценах, особенно для рендеринга лучей.

🌟 Tinybvh поддерживает AVX-оптимизации для процессоров Intel и позволяет быстро пересобирать BVH при изменении треугольников. Проект содержит примеры кода для Visual Studio и CMake, а также планы по улучшению производительности.

🔐 Лицензия: MIT

🖥 Github

@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍54🖕1
This media is not supported in your browser
VIEW IN TELEGRAM
🔍 Наглядное сравнение производительности нескольких языков программирования при выполнении 1 млрд итераций в цикле!

Разработчики на C: Не волнуйтесь. Если вы включите оптимизатор, все пойдет как по маслу.

@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
😁47👍14🤣65🔥3🐳2🌭2💊2
👍87🔥186🥰3🗿1🦄1
🔥 Огромный курс по изучению операционных систем для начинающих!

🌟 Этот курс идеально подходит для студентов университетов, желающих улучшить свои академические знания об операционных системах и всех, кто хочет заложить прочный фундамент в основах ОС! Чтобы получить максимальную пользу от этого курса, рекомендуется базовое понимание концепций C и организации и архитектуры компьютера (COA).

🕞 Продолжительность: 1:00:51:55

🔗 Ссылка: *клик*

#курс #c

@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
👍255🔥4😨2
🔥 Огромный плейлист с обучающими видео по алгоритмам и структурам данных в таких языках, как Python, Java и C++! (315 видео)

🔗 Ссылка: *клик*

#курс #dsa

freecourses
Please open Telegram to view this post
VIEW IN TELEGRAM
👍215🔥4🥴1
🖥 Эта статья посвящена языку программирования Circle, который основан на C++, но ориентирован на безопасность работы с памятью и гибкость в управлении шаблонами и метапрограммированием.

⭐️ Circle обеспечивает разработчиков более совершенными инструментами для контроля и управления компиляцией, особенно при создании высокопроизводительных приложений с использованием CUDA или OpenCL для параллельных вычислений. Этот язык оптимизирован для улучшенной производительности и позволяет конвертировать структуры в массивы и обратно, что делает его полезным для задач, связанных с обработкой больших объемов данных.

🔗 Ссылка: *клик*

@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
👍153🥰3
🖥 Исчерпывающий Roadmap по разработке операционных систем на C с приложенными ссылками на курсы к каждой теме!

🔐 Лицензия: MIT

🖥 GitHub

@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
16👍11🔥5
This media is not supported in your browser
VIEW IN TELEGRAM
🖥 Реализация простейшего чата на основе UDP

Полный проект всего <400 строк кода на C++.

Несколько пользователей могут регистрироваться, входить в систему с авторизацией, отправлять сообщения и выходить из системы.

Управление статусом осуществлялось с помощью контекстов подключения.
Без использования протокола TCP.

🖥 Код

@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥30👍95🤣4🥴2🖕1
🖥 Mario Builder 64 — ROM-хак для игры Super Mario 64, который позволяет пользователям создавать собственные уровни прямо в игре!

🌟 Этот проект расширяет возможности оригинальной игры, добавляя инструменты для модификации уровней, изменения текстур, настройки освещения, улучшения физических взаимодействий и использования различных кастомных объектов.

💡 ROM-хак поддерживает гибкую настройку камеры, улучшения в коллизии объектов и предоставляет разработчикам удобные функции отладки. Проект ориентирован как на игроков, которые хотят экспериментировать с созданием уровней, так и на разработчиков, желающих исследовать модификации движка игры.

🖥 Github

@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
👍147🔥4🥰1