Мне пришлось некоторое время работать над бортовой программой одного из блоков самолёта SSJ-100. Нам запрещалось использовать опции комплятора, включающие оптимизацию, обосновывалось это именно непредсказуемостью результата оптимизации.
А почему бы им не сворачивать потихоньку свой протокол, а новых пользователей регистрировать уже как пользователей джаббера. Народ по-прежнему будет знать: «чтобы поставить аську надо скачать (такой-то) клиент», но народу наверное пофигу, что там внутри за протокол, лишь бы поиск по старым UIN'ам работал. Старый протокол в этом случае придётся несколько лет продолжать поддерживать, для мягкого перехода.
Надо было воспользоваться Native API функцией NtShutdownSystem из ntdll.dll
То есть написать простенькую утилиту на С, которая бы делала динамическую загрузку этой функции из библиотеки и вызов её с соотв. параметром. Перезагрузка в этом случае мгновенная и без каких-либо рассылок сообщений процессам и т. п.
Командная строка для того режима, в котором обычно запускается утилита проверки диска до окна логина в систему. В этом режиме ещё не запущена подсистема Win32, но, тем не менее, есть полный доступ к реестру и файловой системе.
Шелл позволяет перемещаться по файловой системе, выполнять операции с файлами, выводить кое-какую информацию о машине. Позже будут добавлены операции с реестром.
Есть возможность запускать native-процессы, т.е. можно из шелла запустить знакомую всем проверку диска (но не обычные win32-процессы).
В ReactOS в режиме перед логином даже запускается мой Native Shell, правда стандартный способ запуска не реализован, так что вместо него пришлось подменять файл autochk.exe.
Тот этап в жизни проекта, когда были какие-то подозрения уже в прошлом. Я думаю, дело тут в том, что команда ReactOS слишком увлеклась полным копированием всех багов винды (как делает и сама Майкрософт для совместимости софта). А надо бы сконцентрироваться на стабильности и каких-то основных функциях системы. Пусть будет стабильная и быстрая операционка, пусть даже сначала в ней не будут запускаться все виндовые проги, а будут работать только самые простые виндовые приложения.
Всё-таки непонятно, почему после стольких лет разработки ReactOS ещё настолько сырая. Чего они там в MS наворотили в архитектуре виндовс, что её настолько сложно корректно скопировать?
То есть написать простенькую утилиту на С, которая бы делала динамическую загрузку этой функции из библиотеки и вызов её с соотв. параметром. Перезагрузка в этом случае мгновенная и без каких-либо рассылок сообщений процессам и т. п.
Шелл позволяет перемещаться по файловой системе, выполнять операции с файлами, выводить кое-какую информацию о машине. Позже будут добавлены операции с реестром.
Есть возможность запускать native-процессы, т.е. можно из шелла запустить знакомую всем проверку диска (но не обычные win32-процессы).
И ещё какие-то мутные партнёры.