2011-07-19 107 views
1

我在網站topcoder.com中可以在瀏覽器中創建和編譯代碼。是否可以在瀏覽器中嵌入編譯器

是否有可能在我的瀏覽器中編寫類似的代碼,我可以在文本編輯器中編寫代碼,然後在那裏編譯按鈕。

或者可能是請求被髮送到服務器gcc上的編譯器,然後從那裏得到結果。

如何能夠做到這樣的事情

+0

整個Linux仿真器都是用JavaScript編寫的,它可以在瀏覽器中在客戶端編譯和運行C程序:http://bellard.org/jslinux/ –

+0

另外,可以編譯一個C編譯器的源代碼使用Emscripten JavaScript:https://github.com/kripken/emscripten –

回答

2

網站類似TopCoder公司有一個後端服務器上的編譯器。粘貼到網站的代碼被髮送到後端服務器,在那裏它被編譯並運行,結果返回給用戶的瀏覽器。

+0

是否準備好使用庫發送代碼到服務器在python – user2134226

+2

「準備使用庫」是你的問題最少。如果你需要他們,你可能會超出你的聯盟。 – MSalters

3

你的後者(發送到服務器)正是像codepad.org這樣的網站。當然,安全問題是公開允許人們執行編譯器並在服務器上運行程序。

瀏覽器唯一的選擇可能包括:

  • 氯化鈉(本地客戶端)
  • 寫在JS編譯器(可能的話,不建議依賴於語言的理智)
  • 使用Java Applet和寫作編譯器
  • 同上,用於閃存
  • 同上爲Silverlight
  • ActiveX控件(不推薦)
+0

考慮到你有一個Java-to-JS編譯器和一個用Java編寫的Java編譯器,似乎很有可能在Javascript中生成一個Java編譯器。 – MSalters

+0

您可以在虛擬機或沙箱中運行編譯器。這種情況下,它不會在服務器中產生任何副作用 –

1

是的。您可以通過將代碼上傳到服務器,編譯它並將結果/控制檯輸出發送回瀏覽器屏幕,將代碼發送到您的編譯器。

有關您的信息,PHP可以執行shell命令(可以「命令」編譯器編譯代碼)。

相關問題