语法分析阶段:机器通过词法分析,将单词序列分物做解成不同的语法短语,确定整个输入串能够构成语法上正确的程序。
语义分析阶段:检查源程序上有没有语义错误,在代码生成阶段收集类型信息
中间代码生成阶段:在进行了上述的语法分析和语义分析阶段的工作之后,有的编译程序将源程序变成一种内部表示形式
代码优化:这一阶段的任务是对前一阶段产生的中间代码进行变换或进行改备渗造,目的是使生成的目标代码更为高效,即省时间和省空间
目标代仿蚂脊码生成:这一阶段的任务是把中间代码变换成特定机器上的绝对指令代码或可重定位的指令代码或汇编指令
1、首先,打开C语言编辑器工具,然后在该工具中编写程序的源代码,如下图所示,然后进入下一步。
2、其次,完成上述步骤后,单击“编译”选项,再单击“组建”选项,再单击“执行”按钮,如下图所示,然后进入下一步。
3、接着,完裤李灶成上述步骤后,单击Enter,如下图所示,然后进入下一步。
4、然后,完成上述步骤后,单击另存为选项,将文件保存到可以找到的文件夹,如下扰悔图所示,然后进入下一步。
5、随后,完成上述步骤后,打开保存在桌面上的文件夹,其中有一个Bebug文件夹,如下图所示,然后进入下一步。
6、最后,完成上述步骤后,打开Bebug文件夹,有一个扩展名为.exe的文件,编译胡扮完成,如下图所示。这样,问题就解决了。
1、以GCC编译器为例,可以分为四步。
第一步是纯扮薯预处理,包括语法检查等工作。
gcc -P abc.c
第二步由源程序生产汇编语言代码。
gcc -S abc.c
会生成abc.s文做者件,这个文件里缺搏就是汇编代码。
第三步编译器生成目标代码,一个源文件生成一个目标代码。
gcc -c abc.c
会生成abc.o
第四步连接器从目标代码生成可执行文件。
gcc abc.o
2、目标代码包括机器码和符号表(函数及变量名)。连接器的主要作用是通过符号表在库文件和其他模块中找到在目标代码中引入或未定义的符号(函数及变量名),将几个目标代码合成可执行文件。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)