2009-02-11 3 views
3

Я действительно не понимаю this article. Но похоже, что вы можете скомпилировать C/C++ для flash. Если это возможно, насколько сложно было бы скомпилировать и запустить Mono внутри flash?С помощью этой технологии можно было бы скомпилировать и запустить Silverlight IL во Flash?

Звучит глупо Я знаю ... может быть, я с ума сошел с моего возраста.

ответ

1

Возможно, возможно, в первый раз, но только компиляция. Позвольте мне посмотреть, попаду ли я туда, куда вы хотите.

Моно может работать на лету, но даже сейчас, когда есть C# Shell, он сначала компилируется в IL (и, возможно, JIT), и после этого он выполняет. С помощью этой технологии можно будет создавать Flash-сборки .NET, но не запускать их!

Нам понадобится конвертер байт-кода .NET IL-AS3 для запуска сборников .NET в Flash. Наверное, вы думаете в этом, верно? Но это совсем не сумасшествие, это совместимость!

+0

Я думаю, что OP говорит о портировании самого Mono для работы внутри LVVM, в результате чего CLR работает в AVM2. –

+0

Верно, вы даже не можете скомпилировать, поскольку я помню, что Mono csc.exe находится на C#, вам сначала потребуется среда выполнения. Но я сомневаюсь, что это можно легко портировать, потому что виртуальные машины довольно оптимизированы для конкретных архитектур. –

1

Нет причин, по которым вы не можете писать CLR в алхимии, но алхимия не компилирует C в собственный код (он скомпилирован в байт-код), поэтому он будет ограничен как по производительности, так и по безопасности так же, как и обычный actioncript , Из-за этого вам, вероятно, придется переписать много моно.

Итак, это возможно, но вы не сможете выиграть награды за производительность.

+0

Любые ссылки на эту вещь алхимии? – BuddyJoe

+0

http://labs.adobe.com/technologies/alchemy/ –

0

Alchemy использует LLVM для перевода скомпилированного кода C/C++ в ActionScript. LLVM (http://www.llvm.org/) - это инфраструктура компилятора (вырвана из заголовка этой страницы!), Которая поддерживает компиляцию C/C++ в набор инструкций низкого уровня. Вы можете создать виртуальную машину поверх нее, проанализировать информацию о скомпилированном коде (например, поток данных или покрытие кода или что-то еще) и вообще делать всевозможные интересные вещи.

Я не думаю, что вы можете использовать его для перевода IL в флеш-память.

5

Я уверен, что действительно хороший и преданный хакеру, способный изменить как моно исполняемый файл, так и флеш-плеер, может получить тривиальную программу, напоминающую мир, для запуска через несколько месяцев работы. Тем не менее, реализация всех функций будет либо чрезвычайно сложной, либо чрезвычайно медленной, поэтому с практической точки зрения использование этого подхода не будет работать.

Если вы хотите запустить управляемый код на основе CLR в браузере, проверьте ход Moonlight 2.0 here: он работает сегодня, он работает быстро и его можно легко портировать для работы на широком спектре устройств (есть также моно порт для Android, например).

 Смежные вопросы

  • Нет связанных вопросов^_^