@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤4🔥3🤔3👏1
This media is not supported in your browser
VIEW IN TELEGRAM
@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥35👍8❤4🤬1
@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
👍26🔥5❤3
@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥18👍7❤3⚡1
@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
👌20👍9❤5🫡3🔥1🥱1
🎮 Arcade Learning Environment (ALE) - это простой фреймворк, который позволяет исследователям и любителям разрабатывать агентов искусственного интеллекта для игр Atari 2600.
В этом видео показано более 50 игр, поддерживаемых в настоящее время в ALE.
Для обзора наших работы ALE читайте статью Arcade Learning Environment.
ALE поддерживает три различных интерфейса: C++, Python и Gymnasium.
🖥 Github: https://github.com/farama-foundation/arcade-learning-environment
@cpluspluc
В этом видео показано более 50 игр, поддерживаемых в настоящее время в ALE.
Для обзора наших работы ALE читайте статью Arcade Learning Environment.
ALE поддерживает три различных интерфейса: C++, Python и Gymnasium.
@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥6❤3
@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥18❤3👌3⚡1
@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8👍7🔥2
@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13👍4❤2💊2😴1
@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10🔥4👍2
@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
👍24🤔5😁4❤3🙈3🔥2🤬1🖕1🤪1
И эти нестандартные проблемы требуют нестандартных решений.
Вот о таких решениях мы сегодня и поговорим.
А именно:
▪Посмотрим, как работают исключения на платформе Linux x86, и сделаем с ними что‑то интересное.
▪Залезем ещё глубже под капот исключений и сделаем их ещё быстрее.
▪Сделаем висячую ссылку на невалидный объект, и всё будет хорошо.
▪А под конец то, что все любим, — погрузимся в шаблонное метапрограммирование.
@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
❤12👍8🔥4
@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🔥8❤5🌚3🤨3
@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
❤20🔥7👍5🤨4
@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16❤4🔥4
На конференции 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 раза в среднем.
@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
[SPLASH'24] Pasadena - REBASE (Oct 23th)
Full Program: https://2024.splashcon.org/program/program-splash-2024/
👍25🔥8❤4🌭3💊2🥱1
@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
👍23🔥7❤6