![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
编译器工作原理
锥子A
这个作者很懒,什么都没留下…
展开
-
C++编译器工作流程
一、编译过程: 第一步,预编译,展开头文件,进行宏替换。 第二步,编译,代码优化(gcc -O1234),符号汇总。 第三步,汇编,根据对应关系,将汇编指令转换为本地操作系统的机器码。 第四步,生成可重定位的目标文件(没有地址),可重定位的目标文件中包含符号表; 二、链接过程: 第一步,将所有的目标文件的段进行合并,其中包括合并符号表,进行符号解析,解析正确,给符号表的符号分配虚拟地址...转载 2019-07-18 16:26:11 · 399 阅读 · 0 评论 -
C++编译器工作流程
概念1 GCC驱动程序读取源文件.c比如hello.c,并把它翻译成一个可执行目标文件hello,需要经历一下四个阶段,如下图示: C语言编译过程分成四个步骤: 1,由.c文件到.i文件,这个过程叫预处理 2,由.i文件到.s文件,这个过程叫编译 3,由.s文件到.o文件,这个过程叫汇编 4,由.o文件到可执行文件,这个过程叫链接 用gcc查看预处理过程(假设源文件叫hello.c)gc...转载 2019-07-18 16:42:37 · 521 阅读 · 0 评论 -
C++预编译阶段的几种预处理指令
锲子 我们在各自的电脑上写下代码,得明白我们代码究竟是如何产生的,不想了解1,0什么的,但这几个环节必须掌握吧。 我们的代码会经过这4个环节,从而形成最终文件,c语言作为编译语言,用来向计算机发出指令。让程序员能够准确地定义计算机所需要使用的数据,并精确地定义在不同情况下所应当采取的行动。 预处理, 展开头文件/宏替换/去掉注释/条件编译 (t...转载 2019-07-18 16:52:35 · 738 阅读 · 0 评论