2014-09-11 40 views
0

有一些C反編譯器,使用emscripten和LLVM可以在Web上建立一個C/C++代碼。有沒有可能,編譯一個EXE到JavaScript?

那麼有可能以某種方式反編譯exe文件,並將其編譯爲HTML和JS?

+3

用一個單詞表示:不。HTML的外觀如何?你會如何將任意的GUI代碼轉換爲HTML?非gui程序如何? – 2014-09-11 08:55:00

+1

一句話:是的。但是不要浪費時間尋找現成的解決方案。是否花時間開發解決方案取決於您,但這是一個難題。 – 2014-09-11 09:16:04

+0

無法編譯任何exe文件。它已經被編譯。並鏈接。你是否認爲'編譯javascript到.exe'?或* de * - 編譯一個exe文件?到HTML和JS?或者是什麼? – EJP 2014-09-11 09:32:46

回答

2

這是(通常)不可能的。

.exe反編譯,然後重新編譯爲JavaScript的部分在技術上是可行的,一旦有人編寫了這樣的工具。

但問題是大多數已編譯的應用程序鏈接到一大堆庫,它們是運行所需的。在瀏覽器中,JavaScript運行在一個孤立的環境中,爲您的操作系統運行二進制文件提供了非常不同的界面。這很像是如果你想在Linux上運行這個.exe(一個Windows應用程序)。雖然Wine可能(Wine),但這並不簡單,因此,在反編譯的應用程序嵌入網頁之前,沒有人願意等待像Wine這樣的大包下載。

Emscripten等將C編譯爲JavaScript,以便了解接口的差異,就像您可以創建C代碼(藉助於跨平臺庫(例如SDL)),它們可以在不更改的情況下編譯Linux和Windows。但是二進制文件仍然不可互換:這個跨平臺程序的反編譯的.exe仍然是Windows應用程序。