Приветствую, Хабравчане! Вдохновленный недавними обзорами старых ноутбуков, я задумался о программировании для ретро-железа с использованием новых возможностей C++ 23. Столкнувшись с ограничениями библиотек, я нашел решение, позволяющее создавать совместимые исполняемые файлы для Windows 95. Используя AOT-компилятор CoreRT и линкер Visual C++ 6.0, я смог собрать проекты, которые работают на старых системах.
Создав простой код для вывода сообщений, я реализовал собственный модуль Win32. Это открывает новые горизонты для создания приложений под Windows 9x, сохраняя при этом современные языковые функции.
Несмотря на необходимость ограничивать проект и избегать использования потоков и исключений, мне удалось использовать лямбды и constexpr. Это не только развивает ретро-программирование, но и позволяет создать совместимые приложения с современными фишками C++ 23.
Пока я продолжаю работу над проектом, планирую добавить поддержку Linux и улучшить реализацию стандартной библиотеки. Надеюсь, что для многих это станет вдохновением на создание новых проектов для старых систем.