我寫了一個win32 dll 程式, 宣告和定義了一個 extern map全域變數。 使用匯出函式 往這個map變數寫入值的,外部程式每次呼叫匯出函式每次只插入一個值, dll內的部讀取這個map變數,發現只有一個值,不管外部程式通過匯出函式往map里寫入多少值。 請問這個是怎么回事
uj5u.com熱心網友回復:
這個map是不是沒有達到共享的目的。uj5u.com熱心網友回復:
推薦使用匯出介面插入資料, DLL內部自己管理和處理mapuj5u.com熱心網友回復:
應該說是資料沒有存入這個map,導致dll內部無法正常處理資料
uj5u.com熱心網友回復:
是的,我就是用的匯出函式 向map寫入資料, 但是dll內部只能讀取到一條資料 ,感覺每次插入資料之前 map的資料都被清空了
uj5u.com熱心網友回復:
插入資料介面函式里設定斷點,除錯運行,插入資料后設定資料斷點,監視map的 _Size, 看看是什么時候被修改的uj5u.com熱心網友回復:
看了 ,每次插入前,size 都為0 很奇怪, dll 有什么默認的規則么?
uj5u.com熱心網友回復:
map需放共享資料段
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/78329.html
標籤:進程/線程/DLL
上一篇:【求助】VB6.0制作登錄系統
