摘要: 学无止尽,积土成山,积水成渊-《C++反汇编与逆向分析技术揭秘》 读书笔记在C++中,使用关键字virtual声明为虚函数。虚函数地址表(虚表)定义:当类中定义有虚函数时,编译器会把该类中所有虚函数的首地址保存在一张地址表中,即虚函数地址表。虚表信息在编译后被链接到执行文件中,因此所获得的虚表地址是一个固定的地址。虚表中虚函数的地址排列顺序依据虚函数在类中的声明顺序而定。虚表指针同时编译器还会在类的每个对象添加一个隐藏数据成员,称为虚表指针,保存着虚表的首地址,用于记录和查找虚函数。虚表指针的初始化是通过编译器在构造函数中插入代码实现的。由于必须初始化虚表指针,编译器会提供默认的构造函数。虚函 阅读全文
posted @ 2013-12-04 09:38 大兔子_快跑 阅读(1315) 评论(0) 推荐(0) 编辑