0、本立道生

    结构化程序设计,在函数的调用背后,存在堆栈建制、参数排列、返回地址、堆栈清除等动作,但函数调用很自然,就像夹带着一个包裹跳到另一个地方去执行,真正体现了程序=数据结构+算法。面向对象程序设计编译器做了太多的工作,构造、析构、虚拟函数等等,让人摸不着头脑。
    在foundation项目中,simplifier处于type checking和code generation之间,进行程序模型的转换,我的理解是将C++代码转换为C代码,再转为汇编,添加构造、扩张构造等等,主要包括三方面:
1、编译器息息相关的转换
函数调用或者类调用符号
2、语言意义转换
3、程序代码和对象模型转换

你可能感兴趣的:(深度探索C++对象模型)