分类目录归档:C++

C++对象模型的学习 7 – C++ ABI

ABI(Application binary interface)是和API可以类比的概念。API用于定义语言级别,源代码级别的接口,目的是保证代码接口的标准和稳定。ABI也类似,目的是实现二进制级别的兼容,二者都很重要。因为即使同一操作系统的同一编译器的不同的版本之间如果没有保证ABI兼容,那么即使API稳定不变,也无法做到应用的向后兼容。ABI的例子有,System… Read more

C++对象模型的学习 – 1 基础知识

这个系列回忆一下C++知识,主要针对C++和C相比tricky的地方及编译器将C++映射成汇编和内存对象的一些规律。参考经典老著作【1】《深度探索C++对象模型》做些实验,这本书确实很老了,书中常常提到作者参与完成的世界上第一个C++编译器CFront,那时例如把虚函数指针还放在尾部,但瑕不掩瑜。… Read more