• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            戰魂小筑

            討論群:309800774 知乎關注:http://zhihu.com/people/sunicdavy 開源項目:https://github.com/davyxu

               :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
              257 隨筆 :: 0 文章 :: 506 評論 :: 0 Trackbacks

            假設我們有3個工程及其工程類型:

            CORE              DLL

            ENGINE           DLL

            GAME             EXE

            D3DRENDER      DLL

            其中D3DRENDER是GAME動態載入的,其需要鏈接CORE,ENGINE

            這是一個很常見的模式,但是不好的是,因為CORE和ENGINE均是DLL,代碼中的Symbol都被導出才可使用。任何人使用DEPENDENCE工具就可以將DLL中引用的東西查看的清楚,雖然這不至于造成技術泄漏,但從速度和DLL大小來說都是不劃算的。

            現在很多游戲主exe一般都是10M+甚至20M+的大exe,這都是使用靜態鏈接而成。但是對代碼結構也必須做出一定的調整。所有工程必須都是靜態庫,這樣才能保證像CORE這樣的靜態庫中的全局/靜態變量不至于被鏈接2份而造成內存段邏輯錯誤。

            當然,使用全靜態庫還需要注意一點:所有的lib都是在最后的game工程里來做鏈接。

            posted on 2010-04-07 16:08 戰魂小筑 閱讀(2225) 評論(2)  編輯 收藏 引用 所屬分類: 游戲開發技術C++/ 編程語言渲染 Shader 引擎

            評論

            # re: 游戲工程里的使用C++靜態庫與動態庫 2010-04-07 17:02 陳梓瀚(vczh)
            如果一個dll不會被多個exe共享,那么唯一的【工程】意義就是避免編譯器編譯太多代碼的時候出現bug。  回復  更多評論
              

            # re: 游戲工程里的使用C++靜態庫與動態庫 2010-04-07 22:28 Davy.xu
            @陳梓瀚(vczh)
            工程的意義在全是靜態庫時,僅僅只是隔離代碼,分割代碼塊功能而已。現在大型引擎都是這樣的  回復  更多評論
              

            亚洲精品午夜国产VA久久成人| 亚洲国产二区三区久久| 久久久久亚洲AV无码专区网站| 久久久久亚洲AV无码专区网站 | 色综合久久综精品| 高清免费久久午夜精品| 久久狠狠色狠狠色综合| 亚洲中文字幕无码久久2017| 久久久久精品国产亚洲AV无码| 久久综合伊人77777| 色综合久久夜色精品国产| 亚洲国产成人久久综合一区77 | 亚洲国产成人精品女人久久久 | 国产精品久久久久影视不卡| 久久香蕉超碰97国产精品| 国产精品一久久香蕉国产线看| 久久精品水蜜桃av综合天堂| 999久久久免费精品国产| 久久99热国产这有精品| 品成人欧美大片久久国产欧美...| 久久国产亚洲精品麻豆| 蜜桃麻豆www久久国产精品| 久久久精品人妻一区二区三区蜜桃| 午夜欧美精品久久久久久久| 东京热TOKYO综合久久精品| 91性高湖久久久久| 中文字幕精品久久| 久久99国产精品一区二区| 久久久久国产精品嫩草影院| 久久综合狠狠综合久久97色| 久久天天躁狠狠躁夜夜96流白浆 | 久久久久久久久久久久久久| 97久久久久人妻精品专区| 国产精品久久久久久久午夜片| 久久精品视频一| 7国产欧美日韩综合天堂中文久久久久 | 精品国产婷婷久久久| 久久经典免费视频| 国产 亚洲 欧美 另类 久久| 中文字幕无码免费久久| 很黄很污的网站久久mimi色 |