我試圖瞭解綁定(端口)到另一種語言的工作方式,但爲了幫助我澄清我的問題,我將使用名爲libsass(Sass編譯器的C/C++實現)的項目的直接示例。
還有另一個項目node-sass 這是Node.js綁定到libsass。語言「綁定」如何與現有庫進行通信?
我假設這意味着node-sass
是一個運行在nodej上的javascript程序,nodejs充當代理向libsass
C++系統級程序轉發指令。
我的問題是:如何做的intepreter的NodeJS 「對話」 的libsass C++應用程序? - 它使用套接字嗎?
子問題:如果node-sass
通過初始化可用於您自己的節點腳本的對象,函數等在節點環境中公開了一個API,這是否是「綁定」?
'程序'會像自己的進程一樣運行;一個庫通常被加載到同一個進程中。 – user2864740
啊我看到這個特定的項目是一個圖書館 - 但通常我會認爲一個程序被移植到 - *本身就是一個程序或服務? –
這個問題真的很少有C++。「C/C++」是兩種語言。當然,C++有一個綁定到C的語言,但正如這個問題所示,Node.js.也是如此。我們也不會談論「C/Node.js」。 – MSalters