• <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>
            隨筆 - 74, 文章 - 0, 評論 - 26, 引用 - 0
            數(shù)據(jù)加載中……

            如何共享 DLL 中的所有數(shù)據(jù) 微軟support

            概要

            Win 32 動態(tài)鏈接庫 (DLL) 默認(rèn),這意味著使用 DLL 的每個應(yīng)用程序獲取它自己的 DLL 的數(shù)據(jù)的副本的情況下使用實例數(shù)據(jù)。 但是,就可以共享 DLL 數(shù)據(jù)之間所有使用該 DLL 的應(yīng)用程序。

            如果您需要共享僅部分 DLL 數(shù)據(jù),Microsoft 建議創(chuàng)建一個新的節(jié)和而共享它。 如果您想共享的所有 DLL 靜態(tài)數(shù)據(jù),非常重要做兩件事情:
            第一次,DLL 必須使用 C 運行時的 DLL 版本 (例如 Crtdll.lib 或 Msvcrt.lib)。 請參閱您的產(chǎn)品文檔更多有關(guān)使用 C 運行時 DLL 中。

            注意: Crtdll.lib 不再 SDK,從 Windows NT 3.51 開始的一部分。 上次發(fā)布年 4 月 1995 年上的 MSDN 3.5 SDK。 Win 32 現(xiàn)在要求用戶指定的由他們自己的編譯器 vender 提供的 C 運行時 LIBs 他們自己的版本。
            第二個,您需要指定.data 和.bss 共享。 通常,這樣.def 文件的"SECTIONS"部分中。 例如:
               SECTIONS
            .bss READ WRITE SHARED
            .data READ WRITE SHARED
            如果您要使用 Visual C++ 32-bit Edition,您必須指定此使用鏈接器上的部分開關(guān)。 例如:
            link -section:.data,rws -section:.bss,rws
            只有靜態(tài)數(shù)據(jù)被共享。 用對作為 GlobalAlloc() 和 malloc() 這樣的 API / 函數(shù)的調(diào)用動態(tài)分配的內(nèi)存是仍然特定于調(diào)用進(jìn)程。

            系統(tǒng)試圖加載每個進(jìn)程中相同的地址處共享的內(nèi)存塊。 但是,如果塊不能將加載到相同的內(nèi)存地址,系統(tǒng)將共享的分區(qū)映射到一個不同的內(nèi)存地址。 仍在共享內(nèi)存。 請注意該共享節(jié)內(nèi)部指針無效在這種情況下并不能放共享各節(jié)中。

            更多信息

            C 運行時使用全局變量。 如果 CRT 是靜態(tài)與該 DLL,鏈接這些變量將在 DLL 的所有客戶端之間共享并將最有可能導(dǎo)致的異常 c 0000005。

            您要同時指定.data 和.bss 為共享,因為它們每個保存不同類型的數(shù)據(jù)。 .data 部分包含初始化的數(shù)據(jù),.bss 部分保存未初始化的數(shù)據(jù)。

            for sharing in DLL all data one reason is to have in between Win32 DLL (running on Windows NT) and Win32s consistent behavior (running on Windows 3.1). when running on Win32s,32-bit DLL shares among all of that use DLL processes its data。

            請注意不需要共享所有數(shù)據(jù) Win 32 和 Win32s 之間的行為完全相同。 DLL 可用于將變量存儲為實例數(shù)據(jù)在 Win 32 線程本地存儲 (TLS)。

            for additional information,please see following article in Microsoft Knowledge Base:
            109620 (http://support.microsoft.com/kb/109620/EN-US/) 在一個 Win 32 中創(chuàng)建實例數(shù)據(jù) DLL

            這篇文章中的信息適用于:
            Microsoft Win32 Application Programming Interface 當(dāng)用于
                Microsoft Windows NT 4.0
                Microsoft Windows NT 3.51 Service Pack 5
                Microsoft Windows NT 4.0
                Microsoft Windows 95
                Microsoft Windows 98 Standard Edition
                the operating system: Microsoft Windows 2000
                the operating system: Microsoft Windows XP

            回到頂端

            關(guān)鍵字: 
            kbmt kbdll kbhowto kbipc kbkernbase KB109619 KbMtzh

            posted on 2008-10-28 15:07 井泉 閱讀(731) 評論(0)  編輯 收藏 引用 所屬分類: c code

            久久99国产精品久久99果冻传媒| 久久99国产综合精品女同| 久久亚洲国产欧洲精品一| 97久久精品午夜一区二区| 成人国内精品久久久久影院VR| 国产精品九九久久精品女同亚洲欧美日韩综合区 | 中文字幕日本人妻久久久免费| 老色鬼久久亚洲AV综合| 国产精品免费看久久久香蕉| 久久久久久久久久久精品尤物| 日本三级久久网| 久久无码中文字幕东京热| 久久精品亚洲精品国产色婷| 久久久久99精品成人片| 精品久久久久久中文字幕人妻最新| 国产精品永久久久久久久久久| 久久久久久久精品成人热色戒| 国产精品综合久久第一页 | 久久国产免费观看精品| 久久天天躁狠狠躁夜夜2020一| 国产激情久久久久影院| 久久久噜噜噜www成人网| 免费久久人人爽人人爽av| 国产女人aaa级久久久级| 久久综合中文字幕| 国产美女久久精品香蕉69| 久久婷婷五月综合97色直播| 欧美伊人久久大香线蕉综合69 | 久久国产精品无码网站| 99国产精品久久| 久久精品亚洲日本波多野结衣| 香蕉久久夜色精品升级完成| 亚洲国产成人精品无码久久久久久综合 | 久久99精品久久久久久噜噜 | 精产国品久久一二三产区区别| 久久免费观看视频| 精品久久人人做人人爽综合| 国内精品免费久久影院| 久久人人爽人人精品视频| 无码8090精品久久一区 | 久久免费香蕉视频|