Привет, Хабравчане! В последнее время меня увлекли старые ноутбуки и их характеристики. Обдумывая, как использовать современные возможности C++ 23 на старом железе, я наткнулся на интересный подход. Оказалось, что объектные файлы, созданные AOT-компилятором CoreRT, можно собрать с помощью компоновщика Visual C++ 2.0, что позволяет запускать код на 16-разрядной Windows 3.11.
Идея заключалась в том, чтобы написать код, совместимый с Windows 95, используя современные фичи. Я создал простой проект на C++ 23, который использует модули и минимальные библиотеки. Так, удалось реализовать поддержку динамической памяти и основные функции Win32.
Это позволяет разрабатывать на C++ 23 под Windows 9x, сохраняя совместимость с устаревшими системами. В результате, код работает на старом железе, что вдохновляет на создание новых проектов и модификаций для классических игр.
В ближайших планах — улучшение реализации стандартной библиотеки и добавление поддержки для Linux. Это открывает новые возможности для ретро-программирования и создания современных приложений для старых систем.