• <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>
            隨筆-4  評論-40  文章-117  trackbacks-0
             



            一般來說,動態鏈接庫在內存中只會加載一次

             

            每個進程需要調用到次動態鏈接庫的時候,都會從這一個內存地址中加載

             

            但,如果進程需要改動動態鏈接庫中的信息,哪怕是全局變量,系統也會從內存中重新分配出一小塊區域,來進行這些變量的存儲

            那么與之對應的,每一個進程,所修改的動態鏈接庫,只能是自己的一份,不能在所有進程中共享的

             

            如果想在所有進程中共享一份動態鏈接庫數據,則需要在DLL中設置一個共享的 “段”。
             

            以下代碼是定義一個節并給節命名為MySec,HWND g_hWnd=NULL;為將放在節中的數據

            #pragma data_seg("MySec")
            HWND g_hWnd=NULL;
            #pragma data_seg()

             注意:但是放在 MySec 段中的變量必須要被初始化。飛走而編譯器就會將該變量放到 MySec 段以外
            的其他段中。

             

              

            僅定義一個數據段還不能達到共享數據的目的,還要告訴編譯器該段的屬性,有兩種方法可以實現該目的(其效果是相同的),一種方法是在.DEF文件中加入如下語句:

             

            SETCTIONS

              MySec READ WRITE SHARED



             

            另一種方法是在項目設置鏈接選項中加入如下語句:

              /SECTION:shareddata,rws


            RWS:r為讀,w為寫,s為共享


            或者 使用一種更方便的方法,直接將連接器開關嵌入到 dll 的源代碼中。

            #pragma comment(linker,"/section:MySec,RWS")



             

            posted on 2009-04-04 13:58 李陽 閱讀(1114) 評論(0)  編輯 收藏 引用 所屬分類: C++
            久久人人爽人人爽人人片AV东京热| 久久99国产精品久久99小说| 77777亚洲午夜久久多喷| 狠狠色狠狠色综合久久| 97热久久免费频精品99| 欧美日韩精品久久久久| 亚洲乱码中文字幕久久孕妇黑人| 国产精品一区二区久久国产| 国产成人无码精品久久久免费| 久久亚洲精品国产精品婷婷| 欧美久久综合性欧美| 麻豆亚洲AV永久无码精品久久| 久久国产午夜精品一区二区三区| 国产精品免费福利久久| 久久久综合香蕉尹人综合网| 久久天堂AV综合合色蜜桃网| 久久无码人妻精品一区二区三区| 久久99精品久久久久久久久久 | 一本一本久久a久久综合精品蜜桃| 久久久久久国产精品免费无码| 九九久久99综合一区二区| 午夜精品久久久久久影视riav| 国产成人精品白浆久久69| 狠狠综合久久综合88亚洲 | 国产精品久久影院| 精产国品久久一二三产区区别 | 日本久久久精品中文字幕| 久久水蜜桃亚洲av无码精品麻豆| 中文字幕亚洲综合久久菠萝蜜| 国产精品久久一区二区三区| AAA级久久久精品无码片| 伊人久久大香线蕉av不变影院| 久久亚洲AV成人无码软件| 日本亚洲色大成网站WWW久久| 大蕉久久伊人中文字幕| 日本福利片国产午夜久久| 99久久亚洲综合精品成人| 2020最新久久久视精品爱| 国产成人精品久久| 狠狠精品久久久无码中文字幕| 亚洲中文精品久久久久久不卡|