<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                如果想要編寫高質量的C/C++擴展模塊,還需要深厚的C/C++編程功底才行。除此之外,以下這些條目都是不能避開的,在了解它們后,可以讓你在編寫過程中事半功倍。 ## GYP項目生成工具 在Node 0.6中,第三方模塊通過它自身提供的node_waf工具實現編譯,但是它是`*nix`平臺下的產物,無法實現跨平臺編譯。在Node 0.8 中,Node決定摒棄掉node_waf而采用跨平臺效果更好的項目生成器,它就是GYP工具,即“Generate Your Projects”單詞的縮寫。它的好處在于,可以幫助你生成各個平臺下的項目文件,比如Windows下的Visual Studio解決方案文件(.sln)、Mac下的XCode項目配置文件以及Scons工具。在這個基礎上,再動用各個平臺下的編譯器編譯項目。這大大減少了跨平臺模塊在項目組織上的精力投入。 Node源碼中一度出現過各種項目文件,后來均統一為GYP工具。這除了可以減少編寫跨平臺項目文件的工作量外,另一個簡單的原因就是Node自身的源碼就是通過GYP編譯的。為此,Nathan Rajlich基于GYP為Node提供了一個專有的擴展構建工具node-gyp,這個工具通過 `npm install -g node-gyp` 這個命令即可安裝。 ## V8引擎C++庫 V8是Node自身的動力來源之一。它自身由C++寫成,可以實現JavaScript與C++的互相調用。 ## libuv庫 它是Node自身的動力來源之二。Node能夠實現跨平臺的一個訣竅就是它的libuv庫,這個庫是跨平臺的一層封裝,通過它去調用一些底層操作,比自己在各個平臺下編寫實現要高效的多。libuv封裝的功能包括事件循環、文件操作等。 ## Node內部庫 寫C++模塊時,免不了要做一些面向對象編程工作,而Node自身提供了一些C++代碼,比如node::ObjectWrap類可以用來包裝你的自定義類,它可以幫助實現對象回收等工作。 ## 其它庫 其它存在deps目錄下的庫在編寫擴展模塊時也許可以幫助你,比如zlib、openssl、http_parser等。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看