① 「/」應用程序中的伺服器錯誤。編譯器錯誤消息: 編譯器失敗,錯誤代碼為 128。
windows下一般就那幾種情況:1,程序本身問題2,系統或者環境有問題3,許可權問題(這個原因比較多)
② 多台伺服器如何分布編譯一個android固件
1、首先需要distcc:替換原來的編譯器(gcc/g++)。
2、其次要編譯android編譯。把原來的編譯器替換。
3、最後多台伺服器就可以進行分布編譯一個android固件了。
③ 用伺服器做在線編譯器
如果是針對傳統使用方法的編程語言實現一個的話涉及的內容很雜,包括:
Web伺服器+Web伺服器與後端程序交互的組件(這個可以用現成的,我用的是nginx+FCGI)
後端程序
後端核心就是一個類似調用系統給的類似execl的API執行一下對應編譯工具,用這個API時還得精心處理一下管道,把輸出內容導出來顯示回網頁。
但是因為這類程序和OJ一樣,是網路上的公共服務而且居然還允許用戶上傳代碼編譯執行,所以問題主要集中在安全處理上,而且安全問題的處理高度依賴操作系統。
以Linux為例,安全方麵包括但不僅包括以下內容:
依賴環境構建、沙盒
運行身份,包括GID、UID
資源限制,包括socket、文件操作、核心轉儲大小、文件數、子進程數等等
syscall限制
執行時間限制,包括運行時間和CPU時間
文件系統壓力
Windows下是另一堆問題要解決,比Linux復雜得多(也許是我不太會用Windows)。
我認識一人,自己實現了一個類似Haskell的東西,有和Go Playground差不多的在線運行網頁,我問他怎麼那麼快把那麼多東西都搞完了,他說,「整個語言就是用JS實現的,所以有瀏覽器就能運行,不需要後端」,這也是一種思路。
天互數據