深度搜索C++对象模型(理念总结)

来源:互联网 发布:知乎专栏怎么收藏 编辑:程序博客网 时间:2024/05/17 00:54

1. 目标:

        C++的语法规格(C++ 标准)如何具体实现出来的,

        即编译器如何理解并构建一系列的数据结构,

        去扩充/优化/翻译cpp源代码,然后组成串行指令,确保最终代码能够准确而高效执行.

        大致包括1). 编译器功能的思考和设计逻辑 

                       2).cpp源代码的编译+链接(不用生成汇编)的步骤.

2.构造函数语义学:

        遵循语意(C++ 标准)前提下,

        编译器获取最高的优化效率,即哪些步骤被跳过了.

3.Data语义学:

        遵循语意(C++ 标准)前提下,如何存储Data.

        在计算机当中,地址都是一维(线性)的,需要有一种简单直接的逻辑访问数据.

4.Function语意学:

        遵循语意(C++ 标准)前提下,如何处理vtbl,确保准确性和效率的平衡.

5.构造,解构,拷贝语意学

        遵循语意(C++ 标准)前提下,

        由于计算机的执行是一维(线性)的,需要合理安排各个步骤的先后顺序.

6.执行期语义学

        遵循语意(C++ 标准)前提下,

        编译器如何把C++代码扩展为一个阶梯一个阶梯操作的步骤,从而一步一步执行.

7.站在对象模型的尖端

        遵循语意(C++ 标准)前提下,

        Template处理的实际遇到问题和理论复杂性.


原创粉丝点击