C语言程序运行期间所作工作的概览
来源:互联网 发布:会场安排问题 贪心算法 编辑:程序博客网 时间:2024/05/01 10:53
关于c语言运行期间所做的工作,主要分为4点
1.预处理阶段
关于预处理阶段,编译器主要进行了头文件展开,宏替换,条件编译这三个过程。
开始编译时,c语言会将头文件的代码嵌入到程序段中,并且对所有的宏进行替换,代码中所有的宏将被实际的值替换。
2.编译阶段
此时编译器会对c语言的语句进行语法检查,所有的语法错误包括编译时错误大多数会在此阶段产生,通过检查后编译器才会开始将高级语言转化为汇编语言。
3.汇编阶段
顾名思义,此阶段程序会转化为汇编语言,之所以要变成汇编语言是由于计算机组件的电气特性决定的,汇编语言可以直接操作硬件。而c语言具有出色的可移植性,可以在多种不同的硬件平台上运行,这就是嵌入式技术使用c语言的原因,因为嵌入式的实质,就是在已有的硬件平台上移植操作系统,移植的时候,需要修改的地方越少,证明移植性越好,c语言在这方面有着先天的优势,但是其劣势就是代码的复用性,维护性,可扩展性较差,当然这些方面是面向对象语言的强项,各有所长,包括汇编语言都是各自具有优势的语言。
4.链接阶段
链接阶段的任务是把所有的目标文件和库文件连接起来,形成可执行文件。
链接分为编译时链接,装载时链接和运行是连接两种。当然第一种是静态的,所谓静态的与动态的区别就是静态链接在编译时加载进了所有需要的代码到程序库中,这就意味着代码变得很庞大,但是效率会更高,简单来讲就好比要去上课,所有的书都在书包里就是静态链接,这样的好处是不管上什么课我都可以直接拿书,而动态链接的是我要上c语言课,我就回家去拿,这样效率就变得相对来说低一些,但是轻便灵活是其最大的特点,我书包很轻,走路不累,运行速度自然就上来了,gcc编译器中可以使用 -static来强制静态链接。
- C语言程序运行期间所作工作的概览
- c语言程序的运行
- C语言程序的运行
- 初学c语言所编的程序
- C语言程序运行后 出现exe已停止工作
- 计算程序的运行时间(c语言)
- C 语言计算程序运行的时间
- 嵌入式C语言程序的运行
- C语言运行程序的存储区域
- C语言程序运行的步骤
- C语言查看程序运行的时间
- C语言中程序的运行步骤
- C语言程序所占内存的分类
- C C语言程序的开发运行过程
- C语言概览
- c 语言手册概览
- C语言概览
- C语言概览
- 我的学校申请之路
- EL表达式函数-获取字符串长度、截取字符串
- Oracle ALL, ANY and SOME比较
- Android插件化基础
- 吊炸天乐视推第4代超级电视X50系列 生态电视成主流消费模式
- C语言程序运行期间所作工作的概览
- ActiveMQ实战之 Topic发布订阅消息
- Android 常用布局及基本UI控件
- java内存布局图
- Android Studio使用Git上传项目以及从本地Clone GitHub上的项目
- github使用笔记-- GitHub Desktop 下载、安装、使用
- RMAN异机恢复
- TestNG 学习总结 - 分组执行测试(九)
- 关于设置登录过滤权限后 css和js无法加载问题