首页
课程
问答
CTF
社区
招聘
峰会
发现
排行榜
知识库
工具下载
看雪20年
看雪商城
证书查询
登录
注册
首页
社区
课程
招聘
发现
问答
CTF
排行榜
知识库
工具下载
峰会
看雪商城
证书查询
社区
编程技术
发新帖
7
0
[分享]弱弱的放在这里:C/C++ for Win32编程,题目待定
发表于: 2009-1-19 21:34
12658
[分享]弱弱的放在这里:C/C++ for Win32编程,题目待定
fire_rabbit
2009-1-19 21:34
12658
查看主题内容
收藏
・
7
免费
・
0
支持
分享
分享到微信
分享到QQ
分享到微博
赞赏
×
1 雪花
5 雪花
10 雪花
20 雪花
50 雪花
80 雪花
100 雪花
150 雪花
200 雪花
支付方式:
微信支付
赞赏留言:
快捷留言
感谢分享~
精品文章~
原创内容~
精彩转帖~
助人为乐~
感谢分享~
最新回复
(
26
)
◀
1
2
yingyue
雪 币:
1844
活跃值:
(35)
能力值:
( LV3,RANK:30 )
在线值:
发帖
16
回帖
2595
粉丝
3
关注
私信
yingyue
26
楼
我来顶原创的
2009-2-16 10:31
0
fire_rabbit
雪 币:
218
活跃值:
(129)
能力值:
( LV2,RANK:10 )
在线值:
发帖
8
回帖
73
粉丝
0
关注
私信
fire_rabbit
27
楼
>>接上贴
4.
使用对象销毁通告设置并检查状态
。
在第一例中,可以定义一个全局类对象来管理*lpDEntry们。但这种方法的前提是对象数量必须比较少且最好能确定。
但对于动态数量的对象,则存在下面的分析:
-设成全局对象,必须有足够的容量容纳所有的*lpDEntry。予先分配静态数量的空间不合适(要么不足要么浪费),二分配动态数量的空间又存在遍历查询的效率问题。
-我们不大可能在堆中放跟踪标志,因为标志所占的内存本身也可能分配失败。
-难道用类来管理lpDEntry吗?仔细分析发现类根本无能为力。况且如果要类化lpDEntry,类本身也得放到堆中。不要忘了,你可以精巧设计使对象状态检查完美——除非对象已经被删除了...
在第二例中,在调用了SendMessage后调用IsWindow行吗?其实根本行不通!IsWindow比较慢,而且其他线程也可能创建或删除窗口,某个刚创建的窗口可能就使用了已经删除的窗口一样的句柄值。如果可能,SendMessage的接受者可以造一个一样的窗口来,后面的代码就会使用该窗口...
对象销毁通告可以是一个含标志的数据类型,必须存在于栈中。
每一次调用含有用户回调调用行为的函数前,设置对象销毁通告中的标志为“正常”,待函数返回后检查该标志。如果标志被改成了“已删除”,则所有的对被保护对象的操作都应当被跳过。被保护对象也得保留一个对对象销毁通告结构的指针。该指针默认为空。在一个对象销毁通告对象创建时被设置成指向该对象。但如果有嵌套调用而要同时引用多个对象销毁通告对象怎么办呢?幸而栈是后进先出的,就避免了出现乱序的可能。这样我们就可以用链表处理该问题。当然,链表只存在于栈中。注意当销毁通告对象销毁时,要将自己的标志拷贝到前一个对象里面。紧接着,如果标志仍为“正常”就读取前一个对象的指针值,并拷贝到被保护对象的相应保留指针位置。
结果如图:
[以后再添加,我要离线了...]
上传的附件:
DestNtf.PNG
(22.13kb,24次下载)
2009-2-18 00:45
0
游客
登录
|
注册
方可回帖
回帖
表情
雪币赚取及消费
高级回复
◀
1
2
返回
fire_rabbit
8
发帖
73
回帖
10
RANK
关注
私信
他的文章
[讨论]能否完全重编译so库
10490
[分享]弱弱的放在这里:C/C++ for Win32编程,题目待定
12658
[求助]换新工作,开发应用程序...
10684
[原创]Nfo文件阅读器 和 图标光标修改提取工具
5619
编了个Nfo文件读取器,支持保存为位图。
7250
关于我们
联系我们
企业服务
看雪公众号
专注于PC、移动、智能设备安全研究及逆向工程的开发者社区
看原图
赞赏
×
雪币:
+
留言:
快捷留言
为你点赞!
返回
顶部