青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
萬星星@豌豆莢 歡迎加入我們
一個吃軟飯的男人!!!!!我只想寫程序####
微博:
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
博客園
模板提供:
滬江博客
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
女仆av观看一区
|
亚洲最新色图
|
99精品视频免费观看
|
欧美日韩日日骚
|
欧美**人妖
|
欧美日韩精品在线
|
欧美视频在线观看免费网址
|
欧美日韩日本网
|
国产精品萝li
|
在线成人性视频
|
99精品国产高清一区二区
|
亚洲男人的天堂在线观看
|
久久成人精品视频
|
免费成人小视频
|
日韩视频中文
|
亚洲男人影院
|
另类图片国产
|
国产精品每日更新
|
伊人婷婷欧美激情
|
亚洲图片欧美一区
|
免费看精品久久片
|
亚洲精品久久久久久久久久久久久
|
亚洲精品国产精品乱码不99按摩
|
亚洲四色影视在线观看
|
欧美中文字幕视频在线观看
|
美女久久网站
|
国产视频一区在线观看
|
99精品欧美
|
麻豆av一区二区三区
|
亚洲精品一区二区三区不
|
久久国产精品久久精品国产
|
欧美日韩精品一区二区
|
在线日韩日本国产亚洲
|
亚洲欧美高清
|
亚洲精品在线视频
|
久久午夜精品
|
国产综合欧美
|
亚洲自拍偷拍网址
|
亚洲激情视频网
|
久久久久久午夜
|
国产美女精品一区二区三区
|
亚洲精品一品区二品区三品区
|
亚洲欧美成人一区二区三区
|
亚洲激情综合
|
欧美成人第一页
|
精品成人一区二区
|
午夜一区二区三区在线观看
|
亚洲欧洲视频在线
|
美日韩免费视频
|
在线观看视频日韩
|
久久久久久一区二区
|
亚洲欧美国产不卡
|
国产精品久久久一区麻豆最新章节
|
亚洲美女av网站
|
蜜臀av一级做a爰片久久
|
欧美尤物一区
|
国产精品国产三级国产普通话蜜臀
|
最新成人在线
|
欧美人成网站
|
亚洲人成人77777线观看
|
久久久久亚洲综合
|
亚洲一区精品在线
|
国产精品日韩欧美综合
|
亚洲欧美视频在线
|
一区二区三区久久久
|
欧美日本在线播放
|
中文日韩在线视频
|
亚洲视频免费在线
|
国产日本欧美一区二区三区
|
性亚洲最疯狂xxxx高清
|
亚洲欧美中文另类
|
国产在线精品自拍
|
久久一本综合频道
|
噜噜爱69成人精品
|
日韩一级精品
|
99热免费精品在线观看
|
国产精品男人爽免费视频1
|
香蕉成人久久
|
久久精品中文字幕免费mv
|
亚洲第一区色
|
亚洲国产欧美国产综合一区
|
欧美日本高清视频
|
亚洲欧美视频一区二区三区
|
欧美一区二区三区的
|
亚洲第一偷拍
|
亚洲毛片一区二区
|
国产欧美1区2区3区
|
免费在线看一区
|
欧美精品入口
|
欧美在线观看一区
|
免费在线亚洲
|
欧美综合国产
|
欧美欧美在线
|
久久综合影视
|
欧美激情第一页xxx
|
欧美一区二区三区久久精品
|
久久久久久久综合色一本
|
一区二区高清视频
|
久久国产日韩欧美
|
亚洲午夜激情网页
|
久久一区欧美
|
亚洲欧美一区二区三区久久
|
亚洲人成人一区二区三区
|
欧美日韩精品二区
|
久久亚洲精品一区二区
|
欧美国产亚洲精品久久久8v
|
欧美在线免费一级片
|
欧美成人中文
|
久久久久9999亚洲精品
|
欧美少妇一区二区
|
欧美国产日韩一区
|
国产精品视频久久久
|
亚洲国产裸拍裸体视频在线观看乱了
|
国产精品入口日韩视频大尺度
|
欧美成人国产va精品日本一级
|
亚洲一区二区不卡免费
|
久久久久国产精品人
|
亚洲一区二区高清
|
久久人人97超碰国产公开结果
|
亚洲自拍三区
|
欧美日韩一级片在线观看
|
亚洲电影免费观看高清完整版
|
国产精品久久毛片a
|
日韩午夜电影
|
99国产精品久久久久老师
|
久久综合久久综合九色
|
久久久久久亚洲精品杨幂换脸
|
国产精品红桃
|
亚洲精品视频免费观看
|
亚洲精品人人
|
免费影视亚洲
|
免费短视频成人日韩
|
国产亚洲毛片
|
久久成人综合网
|
久久精品一二三区
|
国产一区二区三区四区老人
|
亚洲欧美春色
|
欧美专区亚洲专区
|
国产一区二区高清不卡
|
亚洲自拍三区
|
久久精品二区
|
黄色成人在线
|
久久人人精品
|
欧美国产日韩视频
|
日韩午夜中文字幕
|
欧美日韩国产精品一卡
|
夜夜精品视频一区二区
|
亚洲综合欧美日韩
|
国产欧美精品日韩区二区麻豆天美
|
亚洲天堂成人
|
久久成人免费网
|
尤物在线精品
|
欧美精品一区在线
|
亚洲一区二区三区在线看
|
欧美一站二站
|
亚洲第一精品福利
|
欧美另类在线观看
|
亚洲欧美另类在线
|
久久综合九色综合久99
|
91久久精品国产91久久性色
|
欧美伦理视频网站
|
亚洲一线二线三线久久久
|
欧美在线你懂的
|
91久久国产综合久久蜜月精品
|
欧美国产高潮xxxx1819
|
一区二区三区色
|
老巨人导航500精品
|
aa亚洲婷婷
|
国产日韩精品一区二区
|
久久久久在线
|
亚洲五月婷婷
|
欧美黑人在线播放
|
亚洲欧美日韩在线
|
亚洲风情亚aⅴ在线发布
|
欧美日韩国产一区
|
久久爱另类一区二区小说
|
亚洲国产综合在线
|
久久激情综合
|
日韩网站在线看片你懂的
|
国产美女搞久久
|
欧美精品激情在线
|
欧美在线视频免费
|
一本久道综合久久精品
|
免费观看成人鲁鲁鲁鲁鲁视频
|
亚洲一本视频
|
亚洲第一久久影院
|
99精品99
|
欧美成人午夜激情视频
|
亚洲日本乱码在线观看
|
国产精品自拍视频
|
欧美刺激午夜性久久久久久久
|
亚洲午夜精品一区二区
|
欧美激情第一页xxx
|
久久精品女人天堂
|
亚洲制服少妇
|
一本大道久久精品懂色aⅴ
|
有码中文亚洲精品
|
国产亚洲毛片在线
|
国产精品一级久久久
|
欧美日韩在线视频一区
|