凌云窟
南山巅上火麟烈,北海潜深雪饮寒。可怜两锋未缘见,雪刀封隐孤剑鸣。
<
2006年2月
>
日
一
二
三
四
五
六
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
1
2
3
4
5
6
7
8
9
10
11
留言簿(0)
给我留言
查看公开留言
查看私人留言
随笔分类
嵌入式 (0)
(rss)
MINIX 学习笔记 (4)
(rss)
杂谈春秋 (5)
(rss)
ASM, C , C++ ... (7)
(rss)
Win32 sdk, mfc ... (4)
(rss)
COM, OLE, ATL ... (2)
(rss)
随笔档案
2007年7月 (1)
2007年6月 (1)
2006年12月 (4)
2006年9月 (1)
2006年8月 (4)
2006年5月 (3)
2006年2月 (8)
文章档案
相册
我的相册 (2)
简历下载
谢谢关注
搜索
最新评论
1. re: 很遗憾,minix的阅读计划被我取消了
你可以去死了。
--smartly
2. re: 透明文本、位图的实现方案
双缓冲的确不是画在父窗口,之所以透明,是因为内存dc背景为父窗口背景.
--yaowei
3. re: 构造函数调用虚函数追踪
好东西,谢谢分享
--粉末涂料
4. re: 终于启动minix源代码阅读计划了!
我基本上把MINIX3主要的东西看完了。我的BLOG上有两篇文章是关于MINIX3的。有空可以交流。
http://jnxnj.spaces.live.com
--k
5. re: 很遗憾,minix的阅读计划被我取消了
如果是迫于工作压力可以理解,一个人的精力毕竟有限。学MINIX关键是学其中的思想。MINIX3当然没有LINUX成熟,minix3 连分页都没有,关于线程的概念也没有,等等。但是,将MINIX3作为微内核的代表来看,你会发现学了是一个不小的收获。
--k
6. 欢迎交流minix3
我在chinaunix上的BLOG
devahb.cublog.cn
--JEFF
7. re: 构造函数调用虚函数追踪
vc资料站:
http://www.vcmsdn.com/
对学习很有帮助的,可以上去
看看,或加群46138350,里面有高手可以请教的。
--maggie
8. re: x86是满递减堆栈还是空递减堆栈?
vc资料站:
http://www.vcmsdn.com/
对学习很有帮助的,可以上去
看看,或加群46138350,里面有高手可以请教的。
--maggie
9. re: x86是满递减堆栈还是空递减堆栈?
x8086汇编基础课程中的push/pop,有详细介绍。。。。
注:debug/release下的对应汇编有的存在差异(eg:switch/call),用release中的listfile输出.asm文件~
--windowssky
10. re: 构造函数调用虚函数追踪
赞同你的意见,当时这么想是因为看过一本书,那里说在构造函数就要设置好虚函数表,所以自然就想在构造函数中既然虚函数表已经设定好了,那有可能调用虚函数是通过虚函数表来调用哦。
当然,事实证明这种说法是错的!原因正如你所说。
--莫问春秋
阅读排行榜
1. 终于启动minix源代码阅读计划了!(8147)
2. 构造函数调用虚函数追踪 (7344)
3. Minix3 Context Switch实现分析(6108)
4. x86是满递减堆栈还是空递减堆栈?(5965)
5. C++多态居然可以这样用?(4861)
6. 关于operator=的一点疑问?(4522)
7. 很遗憾,minix的阅读计划被我取消了(4373)
8. 短短2个多月,身边变化太大了(4167)
9. C++ 备忘录 (一)(3601)
10. 透明文本、位图的实现方案(3330)
评论排行榜
1. C++多态居然可以这样用?(6)
2. 关于operator=的一点疑问?(6)
3. 构造函数调用虚函数追踪 (5)
4. 终于把家搬到vckbase了 -_-(4)
5. 终于启动minix源代码阅读计划了!(4)
6. COM问答录 (2)
7. 很遗憾,minix的阅读计划被我取消了(2)
8. Minix3 Context Switch实现分析(2)
9. x86是满递减堆栈还是空递减堆栈?(2)
10. 透明文本、位图的实现方案(2)
VC知识库BLOG
首页
新随笔
联系
聚合
登录
随笔-22 文章-0 评论-38 Trackbacks-0
2006年2月9日
DLL小记
看了《
windows
核心编程》关于
DLL
的部分,我把我觉得重要的而又容易忘记的东西记录下来了。
在
PE
文件结构中,有两个独立的节,分别叫做:输入节,
.idata
和
输出节,
.edata
。不论是可执行模块还是
DLL
模块,它都可以有自己的输入节,这个节中列出了可执行模块和
DLL
模块所需要的
DLL
模块名,同时对于列出的每一个
DLL
还要指出可执行模块和
DLL
模块引用了那些函数和符号变量。可以使用命令:
DUMPBIN–imports xx.exe
或者
DUMPBIN –imports xx.dll
察看文件的输入节。
输出节一般是跟
DLL
相关的。这个节包括输出变量,函数和类符号的列表。可以使用
DUMPBIN –exports xx.exe
来察看这个节的内容,可以发现,这个节一个主要功能就是指出输出变量,函数和类符号在
DLL
文件中的相对偏移位置。
顺便提一下
lib
文件,它能使链接程序产生任何调用
DLL
中函数的可执行模块
(
.
EXE
或.
DLL)
。
《
windows
核心编程》
P473
假如存在:
B.DLL
,
C.DLL
,
D.DLL
。然后把这个文件连同起始首选地址一起传送给
REBASE
。比如:
REBASE -b 600000 B.DLL C.DLL D.LL
。可以简单的如此实用,而且起始地址是
0x600000
。
SDK
上面有详细说明。
还有一点就是使用
DUMPBIN
的时候,一定要将
DUMPBIN.exe,mspdb60.dll,link.exe
保存到一个目录。
发表于
2006-02-09 13:25
莫名春秋 阅读(1936) |
评论 (0)
|
编辑
收藏