- 博客(2)
- 收藏
- 关注
原创 编译和链接的过程
在Linux下,我们用以下GCC生成一个可执行程序的时候gcc hello.c实际上会有以下四个阶段:预处理,编译,汇编,链接。预处理预处理过程主要处理那些源代码文件只能够的以#开始的预编译指令。比如#include, #define等,主要处理规则如下:展开所有的宏定义处理所有条件预编译指令删除所有的注释处理#include预编译指令,将被包含的文件插入到该预编译指令的位置添加行号和文件
2017-03-07 16:30:38
419
原创 区分new operator(即new expression)和operator new
class A{...};A *pa = new A();这个 new expression实际上执行了三个步骤: - 调用operator new标准库函数分配空间; - 然后编译器运行相应的构造函数构造对象; - 构造完成返回指针。C++内存配置的基本操作是 ::operator new() , 内存释放基本操作是 ::operator delete() , 它们相当于C语言的
2016-12-25 15:57:55
274
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人