原理解析
尘世一小猿
这个作者很懒,什么都没留下…
展开
-
编译器是如何用汇编语言实现C++的虚函数表和隐式传递this指针(一)
所谓的面向对象及继承、多态等等只是在语言层面的实现,机器在执行程序时根本就不知道这些。这篇博客的目的是探讨一下,编译器对C++虚函数的实现。 先探讨最简单的情况: 代码如下 vtable.cpp:#include class Base{ public: Base(){ puts("Base()"); } virtual void f原创 2013-06-06 09:40:32 · 1638 阅读 · 0 评论 -
编译器是如何用汇编语言实现C++的虚函数表和隐式传递this指针(二)
#include class Base{ public: Base(){ puts("Base()"); } virtual void fun1() { puts("Base::fun1()"); } virtual void fun2() { puts("Base::fun2()")原创 2013-06-06 13:43:45 · 1155 阅读 · 0 评论 -
编译器是如何用汇编语言实现C++的虚函数表和隐式传递this指针(三)
//直接来个复杂的多重继承 #include class Base{ public: Base(){ puts("Base()"); } virtual void fun1() { puts("Base::fun1()"); } virtual void fun2() { puts("B原创 2013-06-06 15:52:43 · 882 阅读 · 0 评论