2014-09-11 2 views
0

Есть некоторые декомпиляторы C, и с помощью emscripten и LLVM можно создать код C/C++ в Интернете.Возможно ли, скомпилировать exe для javascript?

Так можно каким-то образом декомпилировать exe и скомпилировать его в HTML и JS?

+3

Одним словом: Нет. Как будет выглядеть HTML? Как бы вы конвертировали произвольный код GUI в HTML? Как насчет не-gui-программ? –

+1

Одним словом: Да. Но не тратьте время на поиск готовых решений. Это зависит от вас, тратите ли вы время на разработку решения, но это сложная проблема. –

+0

Невозможно скомпилировать exe ко всему. Он уже скомпилирован. И связано. Вы, возможно, означают «компилировать javascript в .exe»? Или * de * -компилировать exe? В HTML и JS? Или что? – EJP

ответ

2

Это (как правило) невозможно.

Часть принятия .exe, декомпиляция, а затем перекомпиляция ее в JavaScript только технически возможна, как только кто-то пишет такой инструмент.

Проблема в том, что большинство скомпилированных приложений ссылаются на беспорядок библиотек, которые необходимы для их запуска. В браузерах JavaScript работает в изолированной среде, обеспечивая совершенно другой интерфейс, предоставляемый при запуске двоичного файла в вашей операционной системе. Это похоже на то, что вы хотите запустить этот .exe (приложение Windows) в Linux. Хотя это возможно (Wine), это не что-то прямолинейное, и в этом отношении никто не хотел бы ожидать, что пакет, такой большой, как Wine, будет загружен до того, как начнется декомпилированное приложение, встроенное в веб-страницу.

Emscripten и подобные компиляции C на JavaScript, зная разницу в интерфейсах, подобно тому, как вы можете создавать C-код (например, с помощью кросс-платформенных библиотек, например SDL), который компилируется как для Linux, так и для Windows без изменений. Но двоичные файлы все еще не взаимозаменяемы: декомпилированная .exe этой кросс-платформенной программы все равно будет приложением Windows.