青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
萬星星@豌豆莢 歡迎加入我們
一個吃軟飯的男人!!!!!我只想寫程序####
微博:
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
博客園
模板提供:
滬江博客
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
欧美日韩国产不卡在线看
|
亚洲欧美国产高清va在线播
|
一区二区不卡在线视频 午夜欧美不卡在
|
亚洲欧美在线看
|
亚洲福利免费
|
香蕉成人啪国产精品视频综合网
|
亚洲男人av电影
|
午夜精品福利电影
|
欧美一区二区女人
|
久久精品国产第一区二区三区最新章节
|
欧美在线视频全部完
|
玖玖国产精品视频
|
免费在线观看精品
|
亚洲精品美女在线观看
|
一区二区三区精品国产
|
亚洲一区尤物
|
久久久久久久久岛国免费
|
欧美激情一区二区三级高清视频
|
欧美三级日韩三级国产三级
|
国产婷婷97碰碰久久人人蜜臀
|
狠狠色综合网站久久久久久久
|
精品91免费
|
在线视频你懂得一区
|
欧美在线一二三四区
|
欧美国产欧美亚洲国产日韩mv天天看完整
|
美女精品在线观看
|
亚洲精品国产欧美
|
亚洲欧美日韩国产综合精品二区
|
久久亚裔精品欧美
|
国产精品久久久久久一区二区三区
|
国产裸体写真av一区二区
|
亚洲高清影视
|
欧美在线亚洲一区
|
av成人免费观看
|
免费亚洲电影
|
国产一区二区三区免费不卡
|
亚洲日韩成人
|
久久亚洲电影
|
亚洲在线免费观看
|
欧美1区2区3区
|
亚洲精品一区二区三区四区高清
|
欧美色道久久88综合亚洲精品
|
亚洲高清123
|
亚洲全部视频
|
欧美激情91
|
久久激情五月激情
|
亚洲视频日本
|
亚洲欧美日本另类
|
久久一区二区三区四区五区
|
欧美日韩精品免费看
|
亚洲精品美女91
|
欧美午夜女人视频在线
|
最新日韩精品
|
午夜精品一区二区三区四区
|
午夜日韩在线
|
亚洲国产欧美在线人成
|
久久精品免费
|
国产在线观看一区
|
欧美国产大片
|
欧美午夜精品一区二区三区
|
久久久亚洲综合
|
亚洲欧洲精品一区
|
亚洲一区二区三区乱码aⅴ
|
亚洲欧洲一级
|
欧美日韩在线看
|
性久久久久久久久
|
欧美专区日韩专区
|
亚洲一区二区三区精品在线观看
|
国产精品mm
|
亚洲一区高清
|
亚洲国产老妈
|
欧美日韩影院
|
亚洲伦理一区
|
99re6这里只有精品视频在线观看
|
久久久91精品国产
|
欧美成人免费小视频
|
国产一区白浆
|
午夜视频在线观看一区二区
|
亚洲经典自拍
|
欧美大香线蕉线伊人久久国产精品
|
性欧美8khd高清极品
|
国产日韩欧美在线播放
|
另类欧美日韩国产在线
|
欧美gay视频
|
亚洲精品中文字
|
在线视频日本亚洲性
|
国产亚洲精品久久久久动
|
久热精品视频在线观看一区
|
免费观看一区
|
亚洲欧美制服另类日韩
|
久久丁香综合五月国产三级网站
|
亚洲成人在线网
|
亚洲另类在线视频
|
国产欧美日韩免费看aⅴ视频
|
免费在线一区二区
|
欧美日韩中文字幕精品
|
久久久久五月天
|
欧美日韩日本视频
|
久久久人成影片一区二区三区观看
|
欧美电影免费观看网站
|
久久久噜噜噜久久
|
欧美aⅴ99久久黑人专区
|
亚洲香蕉网站
|
久久夜色撩人精品
|
亚洲免费视频在线观看
|
久久久亚洲午夜电影
|
一区二区三区精品视频在线观看
|
亚洲精品影院
|
午夜亚洲福利
|
亚洲第一视频
|
亚洲淫片在线视频
|
亚洲精品一区中文
|
久久久激情视频
|
亚洲综合二区
|
欧美精品在线观看一区二区
|
久久久久国色av免费看影院
|
欧美日韩免费视频
|
欧美国产日韩亚洲一区
|
国产在线观看精品一区二区三区
|
一本色道久久99精品综合
|
欧美在线播放高清精品
|
亚洲嫩草精品久久
|
欧美日韩国产精品专区
|
欧美一区二区三区免费观看
|
亚洲视频二区
|
欧美日韩国产小视频
|
91久久久久久
|
亚洲国产小视频
|
蜜桃av噜噜一区
|
免费短视频成人日韩
|
国产午夜精品一区二区三区视频
|
亚洲视频在线一区
|
亚洲欧美韩国
|
国产精品乱人伦中文
|
一本色道久久综合狠狠躁的推荐
|
99伊人成综合
|
欧美午夜精品一区二区三区
|
亚洲手机成人高清视频
|
亚洲一区二区网站
|
国产精品久久久999
|
亚洲综合三区
|
久久精品伊人
|
精品91在线
|
免费在线看一区
|
亚洲国产天堂网精品网站
|
亚洲精品欧美极品
|
欧美精品尤物在线
|
亚洲一区999
|
久久久久99精品国产片
|
影音先锋日韩资源
|
麻豆视频一区二区
|
亚洲精品免费一二三区
|
一区二区三区欧美日韩
|
国产精品高清网站
|
翔田千里一区二区
|
美女999久久久精品视频
|
亚洲国产精品久久久久婷婷老年
|
欧美xx69
|
亚洲午夜激情免费视频
|
久久精品最新地址
|
亚洲狠狠丁香婷婷综合久久久
|
欧美人与性动交cc0o
|
亚洲一区网站
|
牛牛影视久久网
|
亚洲视频在线观看网站
|
国产欧美一区二区三区久久人妖
|
国产精品私拍pans大尺度在线
|
午夜精品美女自拍福到在线
|
免费观看成人
|
午夜在线a亚洲v天堂网2018
|
国产一区二区三区电影在线观看
|
久久精品最新地址
|
亚洲日本成人网
|
欧美一区二区三区四区在线观看地址
|
中文精品99久久国产香蕉
|
国产精品九色蝌蚪自拍
|
久久久久亚洲综合
|
av不卡免费看
|
欧美电影电视剧在线观看
|
亚洲视频免费看
|
激情成人综合网
|
欧美日韩欧美一区二区
|
久久久久久有精品国产
|
亚洲午夜av电影
|
亚洲国产美女
|
久久久一区二区
|
亚洲在线不卡
|
亚洲精品影视在线观看
|
一区二区在线看
|
国产精品麻豆欧美日韩ww
|
另类欧美日韩国产在线
|
午夜精品久久久久久久99黑人
|
亚洲第一区在线
|
久久夜色精品国产亚洲aⅴ
|
亚洲天堂av图片
|
亚洲精品综合
|
亚洲欧洲日产国产综合网
|
韩国成人福利片在线播放
|
国产精品亚洲综合色区韩国
|
欧美日韩一视频区二区
|