青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
萬星星@豌豆莢 歡迎加入我們
一個吃軟飯的男人!!!!!我只想寫程序####
微博:
http://weibo.com/wanlianwen
C++博客
首頁
新文章
新隨筆
聚合
管理
posts - 172, comments - 1253, trackbacks - 0
導(dǎo)出類使用值得注意的一個問題
這兩天在寫一些導(dǎo)出類庫,在測試的時候遇到十分詭異的問題,使我遭受痛苦折磨。經(jīng)驗是寫代碼到處都可能是炸彈,如果不是見多識光還真有可能懷疑計算機或者相信有鬼。
下面來引入問題:
我寫了一個類,需要保存Tooltip信息和一些動態(tài)數(shù)組信息。結(jié)構(gòu)應(yīng)該類似下面這樣:
class
SOMEDLL_API CSomeDll
{
public
:
CSomeDll(
void
);
//
TODO: 在此添加您的方法。
~
CSomeDll();
TOOLINFO m_ti;
int
*
pInt;
}
;
為了說明問題適當(dāng)調(diào)整了一下,實際情況那個動態(tài)數(shù)組使用的是stl容器,當(dāng)然不影響問題說明。
這個想法很自然看起來也不可能有錯誤,于是我就做了測試,結(jié)果出現(xiàn)了問題。當(dāng)時由于代碼很多,我一段一段進行了分析,最終發(fā)現(xiàn)調(diào)用該導(dǎo)出類出的問題。這樣我直接做了這樣的測試:
CSomeDll
*
pPtr
=
new
CSomeDll;
delete pPtr;
結(jié)果錯誤,堆內(nèi)存毀壞。百思不得其解,開始懷疑stl的分配器導(dǎo)致的問題,修改成自己寫的集合類,仍然有問題。有開始一段一段屏蔽代碼,最終發(fā)現(xiàn)只要TOOLINFO后面有動態(tài)數(shù)組就會導(dǎo)致問題,但是還是沒有找到問題的根本。
開始不相信計算機了,開始懷疑有鬼了。無奈,新建一個win32的helloworld,刪除所有代碼和資源,只剩下winmain,重復(fù)上面的new和delete,發(fā)現(xiàn)居然沒有問題了。真是見鬼了??難道預(yù)編譯頭都能引起內(nèi)存問題嗎??幸好同事zengfanmiao提到stdafx里面的內(nèi)容讓我突然想起那些定義的宏會不會導(dǎo)致內(nèi)存分配問題。
查看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;
哦,天哪,發(fā)現(xiàn)眉目了,果然是這個宏定義導(dǎo)致的。在測試工程里面沒有定義_WIN32_WINNT,而在dll里面定義該宏為
0x0501。所以該對象大小在dll比在測試時大4個字節(jié)。一旦對dll里面數(shù)據(jù)進行了修改就會導(dǎo)致越界訪問。這樣在delete的時候,就會報錯。
這個問題在之前就遇到過,但是不知道怎么就巧合避開了。這次終于了解了內(nèi)幕,寫代碼還真的小心。MS產(chǎn)品線太長,os的維護導(dǎo)致大量結(jié)構(gòu)體存在這樣做法,只能搖頭嘆息,牢記牢記?。。?/span>
posted on 2007-07-17 22:12
萬連文
閱讀(1976)
評論(4)
編輯
收藏
引用
所屬分類:
亂七八糟
FeedBack:
#
re: 導(dǎo)出類使用值得注意的一個問題
2007-07-17 23:13 |
sunny
把TOOLINFO m_ti;改成TOOLINFO *m_ti;就可以解決問題了。
回復(fù)
更多評論
#
re: 導(dǎo)出類使用值得注意的一個問題
2007-07-18 08:36 |
SmartPtr
這中錯誤一不小心就會出現(xiàn),而且很難調(diào),
回復(fù)
更多評論
#
re: 導(dǎo)出類使用值得注意的一個問題
2007-07-18 09:25 |
金慶
導(dǎo)出類要保證類定義DLL內(nèi)外一致。
回復(fù)
更多評論
#
re: 導(dǎo)出類使用值得注意的一個問題
2007-07-18 21:34 |
Corner Zhang
這樣做還是會出tts問題的,若CSomeDll是個singleton這種在dll之外new 和 delete才不會出問題,為了避開tts問題可以在dll中加入對CSomeDll創(chuàng)建和銷毀用的導(dǎo)出函數(shù)
回復(fù)
更多評論
刷新評論列表
只有注冊用戶
登錄
后才能發(fā)表評論。
【推薦】100%開源!大型工業(yè)跨平臺軟件C++源碼提供,建模,組態(tài)!
相關(guān)文章:
幫朋友尋找一個后臺開發(fā)
我對谷歌的chromium和android發(fā)展的看法
一些自己的想法,歡迎討論
2010年總結(jié):
停止博客更新
臨時備忘
設(shè)置樹節(jié)點高度的一種方法
技術(shù)回歸01-Windows內(nèi)存分配工具
筆記本顯示器不亮,有人遇見過嗎??
linux學(xué)習(xí)一:wchar輸出
網(wǎng)站導(dǎo)航:
博客園
IT新聞
BlogJava
博問
Chat2DB
管理
簡歷下載
聯(lián)系我
<
2006年11月
>
日
一
二
三
四
五
六
29
30
31
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
1
2
3
4
5
6
7
8
9
常用鏈接
我的隨筆
我的評論
我參與的隨筆
留言簿
(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實現(xiàn)WebGUI--(CDHtmlDialog)
前輩好,代碼下載之后怎么用???我生成的exe打開是空白的頁面,菜單新建不知道建的啥,打開一個html頁面也沒有反應(yīng),我的環(huán)境是vs2010
--王同林
2.?re: 使MFC變漂亮一:MFC與Flash交互示例
能不能把Flash源文件共享一下,要不然Flash端變量不知道怎么操作
--ddd
3.?re: 甘特圖第一版本發(fā)布
你這個附件有什么功能限制?
--xrczld
4.?re: 并行編程--MPI開發(fā)入門
我是用的vs+MPICH2,用wmpiexec運行我的exe的時候,不能連接到主機是什么鬼啊。。求回復(fù)
--M琨M
5.?re: 基于Chrome開源提取的界面開發(fā)框架 三(.3)
豌豆莢非常不錯的應(yīng)用
--mmocake
閱讀排行榜
1.?基于Chrome開源提取的界面開發(fā)框架開篇(32458)
2.?用MFC實現(xiàn)WebGUI--(CDHtmlDialog)(26068)
3.?并行編程--MPI開發(fā)入門(19229)
4.?使MFC變漂亮二:MFC與HTML交互示例(17585)
5.?FreeType2研究(16139)
評論排行榜
1.?我把初戀搞丟了(原創(chuàng))(55)
2.?一個小型繪圖程序(45)
3.?并行編程--MPI開發(fā)入門(42)
4.?我得C++學(xué)習(xí)心得(41)
5.?用MFC實現(xiàn)WebGUI--(CDHtmlDialog)(40)
Copyright ©2025 萬連文 Powered By
博客園
模板提供:
滬江博客
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
久久天天躁狠狠躁夜夜av
|
美女在线一区二区
|
91久久精品国产91久久性色tv
|
久久人人爽人人爽爽久久
|
在线精品国精品国产尤物884a
|
你懂的网址国产 欧美
|
久久亚洲风情
|
亚洲午夜激情
|
欧美一级成年大片在线观看
|
久久精品一区二区国产
|
亚洲第一色中文字幕
|
亚洲国产精品va在线观看黑人
|
欧美激情在线有限公司
|
亚洲欧美在线看
|
久久久国产一区二区
|
99精品黄色片免费大全
|
亚洲欧美日韩成人高清在线一区
|
国产主播一区二区
|
日韩视频二区
|
精品成人在线视频
|
一区二区三区精品久久久
|
韩日视频一区
|
亚洲欧洲日本mm
|
国产日韩视频
|
亚洲毛片在线看
|
黑人操亚洲美女惩罚
|
日韩视频免费在线观看
|
国产尤物精品
|
一区二区日韩精品
|
在线国产亚洲欧美
|
亚洲欧美清纯在线制服
|
亚洲精品美女
|
欧美在线视频播放
|
亚洲免费在线观看视频
|
欧美91福利在线观看
|
久久国产天堂福利天堂
|
欧美日韩精品一区二区
|
欧美福利一区二区
|
韩日在线一区
|
亚洲一区视频
|
亚洲最新在线
|
欧美成人精品不卡视频在线观看
|
欧美亚洲免费电影
|
欧美三级午夜理伦三级中文幕
|
欧美www在线
|
激情六月婷婷综合
|
午夜影视日本亚洲欧洲精品
|
亚洲网站视频福利
|
欧美精品www
|
欧美va天堂在线
|
在线观看成人一级片
|
欧美资源在线
|
久久久国产成人精品
|
国产精品有限公司
|
亚洲一区亚洲
|
欧美一区亚洲二区
|
国产精品一区二区久久久久
|
在线亚洲激情
|
欧美一区二区三区播放老司机
|
欧美视频一区二区三区…
|
亚洲精品国产精品国自产观看
|
亚洲国产裸拍裸体视频在线观看乱了
|
欧美专区亚洲专区
|
久久亚洲欧美
|
亚洲激情电影中文字幕
|
免费不卡在线观看
|
亚洲黄色有码视频
|
日韩一级片网址
|
欧美午夜免费影院
|
亚洲综合视频一区
|
久久精品综合一区
|
精品69视频一区二区三区
|
久久久噜噜噜久久狠狠50岁
|
欧美成人tv
|
亚洲精品四区
|
国产精品看片资源
|
欧美在线亚洲综合一区
|
亚洲精品久久久久
|
欧美精品一级
|
亚洲视频一区二区
|
久久久精品视频成人
|
亚洲国产精品久久
|
欧美精品在线免费播放
|
亚洲一区二区视频在线观看
|
久久精品99
|
亚洲三级免费观看
|
国产精品免费观看视频
|
欧美中文字幕不卡
|
亚洲国产精品成人精品
|
亚洲女同在线
|
亚洲国产成人av
|
欧美美女视频
|
欧美一级专区
|
亚洲精品黄色
|
久久噜噜亚洲综合
|
一区二区三区高清不卡
|
国产视频精品va久久久久久
|
女生裸体视频一区二区三区
|
亚洲一级高清
|
免费av成人在线
|
亚洲免费在线精品一区
|
亚洲国产三级网
|
国产欧美日韩视频一区二区三区
|
久久五月天婷婷
|
亚洲婷婷综合久久一本伊一区
|
麻豆freexxxx性91精品
|
亚洲永久在线
|
亚洲人成网站777色婷婷
|
国产欧美日韩在线观看
|
欧美日产一区二区三区在线观看
|
久久久亚洲影院你懂的
|
亚洲天堂网在线观看
|
激情五月婷婷综合
|
国产精品一级二级三级
|
欧美精品1区2区3区
|
久久久久久成人
|
欧美一区二区精品久久911
|
日韩一级在线
|
亚洲欧洲日产国码二区
|
久久综合电影
|
久久超碰97中文字幕
|
亚洲综合电影
|
亚洲少妇中出一区
|
99国产精品久久久久老师
|
亚洲国产精品va在线观看黑人
|
国产九九精品
|
国产精品一区二区男女羞羞无遮挡
|
欧美区高清在线
|
欧美韩日一区二区
|
女女同性精品视频
|
久久天天躁狠狠躁夜夜爽蜜月
|
欧美一区二区三区久久精品茉莉花
|
久久久久久午夜
|
久久精品国产96久久久香蕉
|
午夜老司机精品
|
小嫩嫩精品导航
|
午夜精品亚洲
|
性欧美办公室18xxxxhd
|
亚洲欧美日韩国产一区
|
亚洲素人在线
|
亚洲免费视频观看
|
香蕉视频成人在线观看
|
欧美一区二区三区免费看
|
久久不射电影网
|
久久久久久97三级
|
免费欧美日韩
|
亚洲国产精品久久久久久女王
|
欧美成人精品在线视频
|
一级成人国产
|
亚洲视频电影在线
|
亚洲综合色婷婷
|
欧美一级夜夜爽
|
久久亚洲综合色一区二区三区
|
免费成人黄色片
|
欧美激情一区在线观看
|
亚洲人www
|
中文在线不卡视频
|
香蕉久久一区二区不卡无毒影院
|
国产精品免费看
|
韩日午夜在线资源一区二区
|
亚洲国产成人久久
|
一区二区三区**美女毛片
|
亚欧美中日韩视频
|
欧美va亚洲va日韩∨a综合色
|
亚洲国产欧美日韩精品
|
一区二区三区四区五区精品视频
|
一区二区三区欧美视频
|
久久国产精品黑丝
|
欧美金8天国
|
国产日韩欧美电影在线观看
|
亚洲电影中文字幕
|
亚洲一级片在线观看
|
久久这里有精品15一区二区三区
|
欧美黄免费看
|
午夜精品三级视频福利
|
免费的成人av
|
国产精品爽爽爽
|
91久久精品国产91性色tv
|
亚洲欧美在线x视频
|
亚洲第一天堂av
|
亚洲欧美999
|
欧美日韩国产电影
|
一区二区三区在线免费观看
|
亚洲视频在线免费观看
|
男人的天堂亚洲
|
亚洲欧美国产视频
|
欧美精品在线视频
|
亚洲大片免费看
|
久久精品在线
|
在线亚洲自拍
|
欧美精品久久久久久久
|
精品成人一区
|
欧美在线地址
|
一级成人国产
|
欧美精品一区二区高清在线观看
|
激情久久久久
|
久久精品欧洲
|
亚洲欧美一区二区三区久久
|
欧美日韩国产首页在线观看
|
亚洲片在线资源
|