栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C语言 程序是如何跑起来的

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C语言 程序是如何跑起来的

        有没有想过一个程序是如何运行的?平时点击运行,就直接出来了

       那么它在点击运行到生成可执行程序这一期间到底经历了什么让我们一探究竟


翻译

       在翻译环境下会进行以下操作,预编译,预处理,编译,汇编,链接

预编译

在这个间断进行了头文件的包含,宏替换,删除注释


头文件包含

       在写程序的时候用到一些函数时不是要包头文件,那有想过为啥包头文件呢?
       早期的时候一切功能都是要自己写,如在我需要打印就要写一个printf。他也要打印,xxx也要打印,用的人多了为了方便就封装了起来 (入鲁迅说的:世界上本没有路走的人多了变成了路) ,大家看自己的安装目录下会发现好多的 .h 的文件,里面包的就是函数的声明


编译

       在这个间断进行了C语言代码转汇编代码,语法分析,词法分析,语义分析,符号汇总


符号汇总:

        在一个文件中每个函数都有他的符号,不管是自定义还是库函数,他们会聚集在一起

汇编

这里是汇编代码转二进制代码,
合并段表
生成符号表,吧文件里面每个函数的符号做成一张表


链接

合并段表
符号表合并,和重定位

吧无用的符号替换(调用函数接口所生成是符号是无用的),合并多个文件的符号表,合成一个新的符号表

运行

生成可执行程序

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/311550.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号