分享
 
 
 

读书笔记3

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

再论this指针

以下是,笔记5在其他bbs上讨论的结论,现re出,也作为笔记8的内容吧。

这几天没看书了。呵呵:)

首先,在32位操作系统中,指针占4b,(呵呵我想大家都知道,废话而已),所以p1在

t

his+4的位置。

其次,笔记5中this指针的确是指向b的隐含父类A,这个父类可以说是b中

的父类

再次,再vc编译器和win操作系统中,b与他的这个隐含父类是同址的,也就是说,这个

指针也是指向b本身的。

然后,之所以this指针调用aaa时是b的,而不是他隐含父类的,是因为在vftable中只有

一个虚函数,那就是b中的那个,而且vftable跟上述两者也是同址的,至于vftable是什

么,相信那些不是玩雕虫小技的大侠知道了,我也步赘述了!

最后,就是这个虚函数的位置,他到底在堆中呢,还是栈中呢?答案是在代码段中,至于如何寻址,不得而知!

再论变量(对象)存在方式

在vc和win下,存在的四种情况的对象方式,即:stack、 heap、 global、 local static

其中,有理由相信global、 local static被组织在一起(一家之言),即是说他们被分配在同一内存区,或者说他们的地址相连续。

而,stack和heap是各自独立的内存区。姑且将他们分别记为A、B、C内存区(按上述的顺序)。

那么变量到底被分配在那个内存区呢?

1)全局变量、静态变量(除去new生成的)在A区;

2)全局new的变量和 在main()内部或函数内部的用new生成的变量在C区;

3)函数内、main()内部、类成员变量位于B区;

4)函数、类成员函数(与虚实无关)位于代码段中,至于他们是怎么被寻址的,我还没告明白!

(一家之言!)

呵呵,没了!

结论变量(对象)的存在方式

终于清楚了9中所谓寻址问题,所以在此赘述了。

要谈这个问题,其实是在说所谓的win32 PE文件格式,这其实也设计到dumpbin的事,所以上面连re了n次!:)

在debug版下,可以发现,其实exe中(只谈exe,没有dll的事,呵呵)的.data块中存了全局变量和局部静态变量,还有所谓的字符串,

局部变量载入到一个线程的堆栈中,9中说了。.bss块中是为初始化的全局变量和静态局部变量。

但是,我debug了一下,发现如下:

1)上述的所谓的初始化和未初始化的问题,好像在vc下不明显了,就是说,他们(初和未初的)好像是彼此交错的存在玉ram中,而且有跳跃。不是why?

2)所谓的寻址问题(9中),据说(之所以用据说,是因为我没有实际去dumpbin看,而且很费劲的说!:),有空大家自己研究一下,然后告诉我们好了,呵呵! )是在.idata块中的call[XXXX]来寻址的,xxxx为函数地址,所以好像debug时没发现这个地址存在什么地方。

3)至于关于win32 PE的文件格式介绍,我copy了一篇,但是没属别人名字,就当自己的下篇了,毕竟是精华截取,没有完全copy嘛!况且我的题目也是笔记的说,呵呵,节省大家时间嘛。看了有发现告诉大家一声,呵呵,希望你们有兴趣。!

最后,其实这个结论篇也没什么结论,但是这个话题太伤脑筋了,而且时费力不讨好啊!:)

善其事,利其器

(都是废话!:))

vc包括两个版本:Debug版本包括调试信息,所以要比Release版本大很多(可能大数百K至数M)。至于是否需要DLL支持,主要看你采用的编译选项。如果是基于ATL的,则Debug和Release版本对DLL的要求差不多。如果采用的编译选项为使用MFC动态库,则需要MFC42D.DLL等库支持,而Release版本需要MFC42.DLL支持。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有