网站推广基本预算,wordpress默认邮件在哪里设置,网站设计第一步怎么做,怎么自己做网站盗qq目录
编辑
一#xff0c;两种环境
二#xff0c;编译环境下四个部分的
1.预处理
2.编译
3.汇编
4.链接 三#xff0c;执行环境 一#xff0c;两种环境 在程序运行时会有两种环境。第一种便是编译环境#xff0c;第二种则是执行环境。如下图#xff1a; 在程序运…
目录
编辑
一两种环境
二编译环境下四个部分的
1.预处理
2.编译
3.汇编
4.链接 三执行环境 一两种环境 在程序运行时会有两种环境。第一种便是编译环境第二种则是执行环境。如下图 在程序运行时首先会让源文件文件经过编译环境。在编译环境中源文件会经过以下四个个过程预处理编译汇编链接。也就是说编译环境还会细分为四个组成部分 在经过编译环境的这四个部分以后便会生成。exe文件来执行相应代码要执行的任务。 二编译环境下四个部分的
1.预处理 代码在编译环境下第一个要经历的便是预处理也叫预编译。在这个部分代码要被做以下处理 1.头文件展开。 2.宏替换。 3.消除注释。 4.条件编译。这个我不太懂 在经过上面四步以后会生成一个.i文件这个文件里的内容就是源文件在经过上面四步以后的内容。所以.i文件里的内容的行数会比源文件的行数要少。 2.编译 在这一步要经历的过程便是以下几步 1.语法分析。 2.词法分析。 3.语义分析。 4.符号汇总。 5.生成汇编代码。指令级代码。 6.生成.s文件。 我们平时写代码时如果发生语法错误便是在这一步检测出来的。并且在编译的过程中会对函数名进行重命名。在C语言中在VS环境下对函数名进行重命名的规则便是在函数名前加一个_。但是在C中函数重命名则会根据参数的类型来重命名。所以因为C的这一项进步于是会C便便支持了函数重载。 3.汇编 汇编的过程便是将指令代码翻译成机器码,也就是二进制码的后生成目标文件的过程。在这个过程中还要将程序里面的各个函数的函数名和地址给汇总起来生成符号表。在这个过程中要做的便是以下几步 1.将汇编代码翻译成二进制的机器码。 2.生成目标文件。 3.生成符号表。 4.链接 链接的意思便是将程序中的多个文件链接起来共同完成一项任务。在这个过程中因为有多个目标文件也就意味着有多个符号表。并且我们的代码是通过符号表里面的函数名和地址来跳转调用函数的。所以在链接时就必需要做到下面的几步 1.合并段表。 2.合并符号表。 合并段表的目的是将多个目标文件给连接起来。合并符号表的目的是将各个目标文件里的符号表搞在一起方便查找。在这里要注意两种种链接错误的情况 1.函数的声明和定义放在同一个文件中。 这样会导致链接错误的原因是有两个同名但是地址不同的函数在符号表中。在调用时便会出现歧义导致错误。 2.只有声明没有定义。 这样的错误是因为符号表里的声明的函数没有一个有效的地址。在调用时不知道该跳转到什么地方调用函数所以导致错误。 三执行环境 在这个环境中便是生成.exe文件实现运行逻辑。