Можете ли вы использовать компилятор Phoenix в качестве более мощного NGEN?
-
01-07-2019 - |
Вопрос
На случай, если вы не знаете о Phoenix, это платформа для компиляции от Microsoft, которая, по-видимому, станет основой всех их новых компиляторов.Он может считывать код из CIL, x86, x64 и IA64;и выдавать код на x86, x64, IA64 или CIL.
Могу ли я использовать это для преобразования чистого приложения .Net в чистое нативное приложение?Под этим я подразумеваю, что ему не нужно будет загружать никакой .Net .dll (даже mscoree) и он будет иметь ту же семантику?Это, конечно, исключает Рефлексию.
Решение
Не зная слишком много о Phoenix, для того, чтобы приложение .NET запускалось изначально, вам также понадобится собственная версия фреймворка, если только вы не используете фреймворк (что практически невозможно).
Также среда CLR включает в себя сборку мусора, загрузку сборки и т.д., поэтому сброс интерпретирующей части среды CLR, вероятно, не сильно повлияет на производительность .NET-приложений.
Кроме того, из Феникса Вопросы и ответы:
Q.Как мне перенастроить исходное изображение на изображение MSIL (или наоборот)?
A.Не очень легко.Это не поддерживаемый сценарий, и хотя теоретически это может быть возможно, мы не знаем никого, кто действительно это сделал.