2016-08-31 39 views
0

我有一個裝有ARM處理器並運行Win CE OS的設備。如何在Win CE ARM嵌入式設備上運行node js服務器?

現在我有一個要求在設備內部實現節點js服務器。

同樣的要求是,在運行Linux

由於節點被編譯爲Linux,他們能夠運行在設備內部節點JS服務器的另一個ARM設備上實現。

但有節點沒有可用的Win CE兼容版本

是沒有這樣做還還是我失去了一些東西?

我閱讀了關於微軟的chakracore,但我沒有太多的瞭解。

有誰知道如何在運行Win CE的設備上運行節點。

任何類型的線索/幫助表示讚賞。謝謝

回答

2

Windows CE提供了一個Win32 API的實現,它與在Windows桌面操作系統上實現的完整的Win32版本完全兼容。 它還提供了C/C++庫,但正如你所知,邪惡在細節中,這些實現可以被視爲你在桌面上的一個子集,並且缺少一個函數或功能可能會迫使你重新實現一個巨大的代碼的數量來解決這個限制。 Windows CE也意味着在資源有限的設備上運行,其RAM和處理能力有限,而且說實話,node.js似乎並不完全針對這種平臺。 首先,我想了解一下這個需求是否合理,以及爲什麼需要將像CE這樣的小型實時操作系統與像nodejs這樣的巨大解釋型和資源匱乏的怪物混合使用。

+0

我們在我們正在使用的設備中有一個嵌入式web服務器。我們現在想要移除EWS並在設備內運行Node,以便我們可以更快地爲請求提供服務。這是老闆對我的老闆的一個決定,我只需說服他們是否可行。根據我的理解,節點js是PHP的一個很好的選擇,這確實是資源消耗,因此也是轉移到Node的原因。那麼你是說爲Win 32機器構建的節點js確實可以在Win CE上運行? –

+1

@ShaikSyedAli既然Node,Google V8甚至ChakraCore都不提供Windows CE支持,並且因此Node以某種方式「更快」的想法只能被簡化 - 我會稱這個需求研究不足並在「不合理」和「不可能」之間進行評分。雖然這在技術上可能是現實的,但實際上這可能需要幾年的移植工作,並且不能保證任何成功 - 如果一位高級執行官告訴你讓SQL Server在Commodore 64上運行,他們可能會理解ROI估計以擺脫它們;) – Notlikethat

+0

不,CE和桌面Win32之間沒有二進制兼容性,並且源代碼兼容性不完整,因此移植複雜的應用程序可能需要付出巨大的努力。我同意任何性能改進都是純理論的事實。一個理論可能需要數月的測試工作。 –

1

windows CE在3年以上沒有更新,期望node.js在CE之上工作是不合理的。然而,手臂上的窗口可以運行這個https://github.com/nodejs/node-chakracore(由windows phone使用,windows Iot和不良的表面RT)。 Windows on arm只接受thumb2指令,所以你將無法使用常規node.js.

這是b \ c v8編譯器不會產生thumb2指令。更多閱讀材料在這裏:https://blogs.msdn.microsoft.com/ntdebugging/2014/05/15/understanding-arm-assembly-part-2/

相關問題