【编译】过程+作用域

xiaoxiao2021-02-28  36

编译的过程

环境可以分为:编译环境(用于PC...)&&运行环境

编译分为以下四个过程

①预处理(预编译)

②编译

③汇编

④链接

可参考图示:

具体剖析四个步骤:

①预处理(预编译):文本处理

山区注视、解决预处理命令 例如:#define  #include #if #end ...均为预处理命令

②编译:查错

发现错误,包括语法、语义、词法、词义分析...

③汇编:翻译

④链接:找符号

每个文件均有符号表(对外的,便于查找)

变量作用域

文件作用域、函数作用域、块作用域

#include<stdio.h> int x=10;//文件作用域 void Fun() { printf("%d\n",x);//10 } int main() { printf("%d\n",x);//10 int x=100;//函数作用域 printf("%d\n",x);//100 if(x>0) { int x=50;//块作用域 printf("%d\n",x);//50 x+=100; //此时此块内x的生命周期到头 } printf("%d\n",x);//100 x+=100; Fun();//10 }

运行结果截图:

欢迎交流❤祝大家都能0 error(s),0 warning(s)ヾ(✿゚▽゚)ノ

转载请注明原文地址: https://www.6miu.com/read-2614807.html

最新回复(0)