青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
萬星星@豌豆莢 歡迎加入我們
一個吃軟飯的男人!!!!!我只想寫程序####
微博:
http://weibo.com/wanlianwen
C++博客
首頁
新文章
新隨筆
聚合
管理
posts - 172, comments - 1253, trackbacks - 0
導出類使用值得注意的一個問題
這兩天在寫一些導出類庫,在測試的時候遇到十分詭異的問題,使我遭受痛苦折磨。經驗是寫代碼到處都可能是炸彈,如果不是見多識光還真有可能懷疑計算機或者相信有鬼。
下面來引入問題:
我寫了一個類,需要保存Tooltip信息和一些動態數組信息。結構應該類似下面這樣:
class
SOMEDLL_API CSomeDll
{
public
:
CSomeDll(
void
);
//
TODO: 在此添加您的方法。
~
CSomeDll();
TOOLINFO m_ti;
int
*
pInt;
}
;
為了說明問題適當調整了一下,實際情況那個動態數組使用的是stl容器,當然不影響問題說明。
這個想法很自然看起來也不可能有錯誤,于是我就做了測試,結果出現了問題。當時由于代碼很多,我一段一段進行了分析,最終發現調用該導出類出的問題。這樣我直接做了這樣的測試:
CSomeDll
*
pPtr
=
new
CSomeDll;
delete pPtr;
結果錯誤,堆內存毀壞。百思不得其解,開始懷疑stl的分配器導致的問題,修改成自己寫的集合類,仍然有問題。有開始一段一段屏蔽代碼,最終發現只要TOOLINFO后面有動態數組就會導致問題,但是還是沒有找到問題的根本。
開始不相信計算機了,開始懷疑有鬼了。無奈,新建一個win32的helloworld,刪除所有代碼和資源,只剩下winmain,重復上面的new和delete,發現居然沒有問題了。真是見鬼了??難道預編譯頭都能引起內存問題嗎??幸好同事zengfanmiao提到stdafx里面的內容讓我突然想起那些定義的宏會不會導致內存分配問題。
查看TOOLINFO的定義:
typedef struct tagTOOLINFOW
{
UINT cbSize;
UINT uFlags;
HWND hwnd;
UINT_PTR uId;
RECT rect;
HINSTANCE hinst;
LPWSTR lpszText;
#
if
(_WIN32_IE
>=
0x0300
)
LPARAM lParam;
#endif
#
if
(_WIN32_WINNT
>=
0x0501
)
void
*
lpReserved;
#endif
}
TTTOOLINFOW, NEAR
*
PTOOLINFOW,
*
LPTTTOOLINFOW;
哦,天哪,發現眉目了,果然是這個宏定義導致的。在測試工程里面沒有定義_WIN32_WINNT,而在dll里面定義該宏為
0x0501。所以該對象大小在dll比在測試時大4個字節。一旦對dll里面數據進行了修改就會導致越界訪問。這樣在delete的時候,就會報錯。
這個問題在之前就遇到過,但是不知道怎么就巧合避開了。這次終于了解了內幕,寫代碼還真的小心。MS產品線太長,os的維護導致大量結構體存在這樣做法,只能搖頭嘆息,牢記牢記?。?!
posted on 2007-07-17 22:12
萬連文
閱讀(1984)
評論(4)
編輯
收藏
引用
所屬分類:
亂七八糟
FeedBack:
#
re: 導出類使用值得注意的一個問題
2007-07-17 23:13 |
sunny
把TOOLINFO m_ti;改成TOOLINFO *m_ti;就可以解決問題了。
回復
更多評論
#
re: 導出類使用值得注意的一個問題
2007-07-18 08:36 |
SmartPtr
這中錯誤一不小心就會出現,而且很難調,
回復
更多評論
#
re: 導出類使用值得注意的一個問題
2007-07-18 09:25 |
金慶
導出類要保證類定義DLL內外一致。
回復
更多評論
#
re: 導出類使用值得注意的一個問題
2007-07-18 21:34 |
Corner Zhang
這樣做還是會出tts問題的,若CSomeDll是個singleton這種在dll之外new 和 delete才不會出問題,為了避開tts問題可以在dll中加入對CSomeDll創建和銷毀用的導出函數
回復
更多評論
刷新評論列表
只有注冊用戶
登錄
后才能發表評論。
相關文章:
幫朋友尋找一個后臺開發
我對谷歌的chromium和android發展的看法
一些自己的想法,歡迎討論
2010年總結:
停止博客更新
臨時備忘
設置樹節點高度的一種方法
技術回歸01-Windows內存分配工具
筆記本顯示器不亮,有人遇見過嗎??
linux學習一:wchar輸出
網站導航:
博客園
IT新聞
BlogJava
博問
Chat2DB
管理
簡歷下載
聯系我
<
2006年3月
>
日
一
二
三
四
五
六
26
27
28
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
常用鏈接
我的隨筆
我的評論
我參與的隨筆
留言簿
(66)
給我留言
查看公開留言
查看私人留言
隨筆分類
.NET(6)
ACDK(6)
ATL(11)
MFC(29)
richedit(9)
WTL(1)
亂七八糟(61)
模板(8)
小作品(40)
隨筆檔案
2013年3月 (2)
2012年9月 (2)
2012年8月 (2)
2012年7月 (2)
2012年6月 (3)
2012年5月 (2)
2011年9月 (2)
2011年8月 (1)
2011年6月 (2)
2011年5月 (4)
2011年4月 (2)
2011年3月 (2)
2010年12月 (1)
2009年9月 (1)
2009年8月 (2)
2009年7月 (2)
2009年6月 (2)
2009年5月 (1)
2009年4月 (1)
2009年1月 (1)
2008年12月 (5)
2008年11月 (2)
2008年10月 (1)
2008年9月 (7)
2008年8月 (2)
2008年3月 (3)
2008年2月 (2)
2008年1月 (3)
2007年12月 (6)
2007年11月 (1)
2007年10月 (3)
2007年9月 (1)
2007年8月 (5)
2007年7月 (5)
2007年6月 (3)
2007年5月 (5)
2007年4月 (5)
2007年3月 (4)
2007年2月 (2)
2007年1月 (2)
2006年12月 (4)
2006年11月 (8)
2006年10月 (1)
2006年9月 (9)
2006年8月 (7)
2006年7月 (10)
2006年6月 (1)
2006年5月 (2)
2006年4月 (10)
2006年3月 (3)
2006年2月 (3)
2006年1月 (2)
2005年12月 (8)
相冊
new
個人相冊
搜索
最新評論
1.?re: 用MFC實現WebGUI--(CDHtmlDialog)
前輩好,代碼下載之后怎么用啊?我生成的exe打開是空白的頁面,菜單新建不知道建的啥,打開一個html頁面也沒有反應,我的環境是vs2010
--王同林
2.?re: 使MFC變漂亮一:MFC與Flash交互示例
能不能把Flash源文件共享一下,要不然Flash端變量不知道怎么操作
--ddd
3.?re: 甘特圖第一版本發布
你這個附件有什么功能限制?
--xrczld
4.?re: 并行編程--MPI開發入門
我是用的vs+MPICH2,用wmpiexec運行我的exe的時候,不能連接到主機是什么鬼啊。。求回復
--M琨M
5.?re: 基于Chrome開源提取的界面開發框架 三(.3)
豌豆莢非常不錯的應用
--mmocake
閱讀排行榜
1.?基于Chrome開源提取的界面開發框架開篇(32469)
2.?用MFC實現WebGUI--(CDHtmlDialog)(26073)
3.?并行編程--MPI開發入門(19239)
4.?使MFC變漂亮二:MFC與HTML交互示例(17606)
5.?FreeType2研究(16155)
評論排行榜
1.?我把初戀搞丟了(原創)(55)
2.?一個小型繪圖程序(45)
3.?并行編程--MPI開發入門(42)
4.?我得C++學習心得(41)
5.?用MFC實現WebGUI--(CDHtmlDialog)(40)
Copyright ©2025 萬連文 Powered By
博客園
模板提供:
滬江博客
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
久久久久国产精品一区三寸
|
欧美a级片一区
|
欧美午夜一区二区福利视频
|
欧美高清在线一区二区
|
久久先锋资源
|
欧美高清日韩
|
国产精品xnxxcom
|
国产亚洲日本欧美韩国
|
国产香蕉久久精品综合网
|
一区二区在线观看视频
|
国内揄拍国内精品久久
|
亚洲第一精品福利
|
一本久久综合亚洲鲁鲁
|
99视频国产精品免费观看
|
亚洲女同在线
|
美女日韩在线中文字幕
|
亚洲欧洲中文日韩久久av乱码
|
麻豆久久精品
|
亚洲美女中出
|
欧美影院在线播放
|
欧美国产精品v
|
国产精品视频精品
|
亚洲国产精品久久久久久女王
|
亚洲免费播放
|
久久精品日产第一区二区三区
|
欧美国产精品人人做人人爱
|
一区二区三区免费观看
|
久久久久久久欧美精品
|
欧美日本国产精品
|
国产一区在线视频
|
正在播放日韩
|
奶水喷射视频一区
|
午夜一级久久
|
国产精品免费看久久久香蕉
|
1769国内精品视频在线播放
|
亚洲综合色丁香婷婷六月图片
|
欧美+亚洲+精品+三区
|
亚洲一区二区三区免费观看
|
欧美国产精品专区
|
在线看片成人
|
久久露脸国产精品
|
亚洲视频欧洲视频
|
欧美激情在线免费观看
|
影音先锋国产精品
|
久久久国产91
|
性欧美精品高清
|
国产精品午夜久久
|
亚洲尤物视频在线
|
9久草视频在线视频精品
|
欧美高清视频
|
日韩午夜激情
|
亚洲欧洲三级
|
免费亚洲电影在线
|
亚洲国产精品999
|
久久香蕉国产线看观看av
|
亚洲自啪免费
|
国产精品大片免费观看
|
亚洲在线成人
|
亚洲第一在线综合在线
|
香蕉久久精品日日躁夜夜躁
|
国产精品久久久久久久久搜平片
|
亚洲乱码一区二区
|
亚洲人久久久
|
欧美日产国产成人免费图片
|
亚洲精品久久久久久久久久久
|
欧美黑人一区二区三区
|
麻豆91精品
|
亚洲美洲欧洲综合国产一区
|
91久久国产综合久久
|
欧美精品亚洲一区二区在线播放
|
日韩视频免费观看高清完整版
|
亚洲精品乱码久久久久
|
欧美午夜精品理论片a级按摩
|
国产一区在线看
|
久久精品成人一区二区三区
|
欧美在线日韩精品
|
亚洲丰满在线
|
9l视频自拍蝌蚪9l视频成人
|
国产精品久久综合
|
久久精品一本
|
免费久久精品视频
|
亚洲视频在线看
|
亚洲欧美色婷婷
|
精品白丝av
|
亚洲激情国产精品
|
国产精品久久久久久久久久久久
|
午夜激情一区
|
久久综合久久美利坚合众国
|
亚洲精品日韩在线
|
亚洲资源av
|
亚洲黄色免费网站
|
一区二区欧美国产
|
激情久久一区
|
一本色道久久综合亚洲精品小说
|
国产精品久久久久久久久搜平片
|
久久久午夜精品
|
欧美日韩国产bt
|
老司机亚洲精品
|
欧美视频免费在线
|
毛片av中文字幕一区二区
|
欧美精品久久99久久在免费线
|
欧美在现视频
|
欧美日韩成人在线观看
|
久久亚洲电影
|
国产精品免费电影
|
最新国产の精品合集bt伙计
|
国产日韩欧美
|
在线一区日本视频
|
亚洲欧洲三级
|
香蕉久久夜色精品国产使用方法
|
亚洲日韩成人
|
久久天堂av综合合色
|
亚洲男女自偷自拍
|
免费成人高清在线视频
|
久久国产精品一区二区三区四区
|
久久超碰97中文字幕
|
99视频国产精品免费观看
|
亚洲欧美国产精品桃花
|
久久精品国产清自在天天线
|
一区在线免费
|
欧美一区二区精品久久911
|
一区二区三区成人
|
麻豆91精品91久久久的内涵
|
久久久久久久999
|
国产乱码精品
|
亚洲天堂偷拍
|
亚洲在线播放电影
|
欧美精品一二三
|
欧美激情一二区
|
亚洲国产成人不卡
|
久久久久久久一区二区
|
久久国产精品99久久久久久老狼
|
欧美日韩免费视频
|
亚洲美女在线国产
|
中日韩美女免费视频网址在线观看
|
久久综合五月天婷婷伊人
|
久久久一区二区
|
国产亚洲精品久久久久动
|
亚洲男女自偷自拍
|
亚洲欧美亚洲
|
国产女同一区二区
|
欧美一进一出视频
|
久久久777
|
黄色成人片子
|
另类综合日韩欧美亚洲
|
欧美激情在线观看
|
亚洲乱码精品一二三四区日韩在线
|
欧美成人高清视频
|
亚洲精品在线观看视频
|
亚洲视频图片小说
|
国产精品中文在线
|
久久久久久久成人
|
亚洲国产精品精华液2区45
|
亚洲福利视频免费观看
|
免费在线亚洲欧美
|
亚洲精品女人
|
一区二区激情
|
国产区日韩欧美
|
久久三级视频
|
亚洲欧洲日本专区
|
欧美一级日韩一级
|
伊人激情综合
|
欧美精品国产一区二区
|
亚洲欧美激情视频
|
欧美激情精品久久久久久大尺度
|
亚洲欧美一区二区精品久久久
|
欧美一级日韩一级
|
亚洲高清毛片
|
国产精品伦子伦免费视频
|
欧美一区二区三区的
|
欧美电影电视剧在线观看
|
在线亚洲精品
|
国外成人在线
|
欧美特黄一级大片
|
久久久精品国产免大香伊
|
在线日本高清免费不卡
|
欧美成人免费网站
|
亚洲一区在线看
|
亚洲高清在线观看一区
|
午夜影视日本亚洲欧洲精品
|
在线观看av不卡
|
国产精品爽黄69
|
亚洲人成网站精品片在线观看
|
久久久久久尹人网香蕉
|
亚洲电影第三页
|
欧美一区二区在线
|
亚洲精品在线视频
|
国产一本一道久久香蕉
|
欧美日韩精品综合
|
久久综合伊人77777
|
亚洲综合色视频
|
亚洲免费av网站
|
欧美高清在线
|
久久精品视频网
|
亚洲欧美日韩在线
|
亚洲美女少妇无套啪啪呻吟
|
国产亚洲综合性久久久影院
|
国产精品v欧美精品v日韩
|
欧美顶级大胆免费视频
|
久久亚裔精品欧美
|