- 2
- 0
- 约3.6千字
- 约 6页
- 2016-10-28 发布于安徽
- 举报
C语言编译过程总结详解
C语言的编译链接过程要把我们编写的一个c程序(源代码)转换成可以在硬件上运行的程序(可执行代码),需要进行编译和链接。编译就是把文本形式源代码翻译为机器语言形式的目标文件的过程。链接是把目标文件、操作系统的启动代码和用到的库文件进行组织形成最终生成可执行代码的过程。过程图解如下:?
?
从图上可以看到,整个代码的编译过程分为编译和链接两个过程,编译对应图中的大括号括起的部分,其余则为链接过程。?
编译过程
编译过程又可以分成两个阶段:编译和汇编。
编译
编译是读取源程序(字符流),对之进行词法和语法的分析,将高级语言指令转换为功能等效的汇编代码,源文件的编译过程包含两个主要阶段:
?第一个阶段是预处理阶段,在正式的编译阶段之前进行。预处理阶段将根据已放置在文件中的预处理指令来修改源文件的内容。如#include指令就是一个预处理指令,它把头文件的内容添加到.cpp文件中。这个在编译之前修改源文件的方式提供了很大的灵活性,以适应不同的计算机和操作系统环境的限制。一个环境需要的代码跟另一个环境所需的代码可能有所不同,因为可用的硬件或操作系统是不同的。在许多情况下,可以把用于不同环境的代码放在同一个文件中,再在预处理阶段修改代码,使之适应当前的环境。?
主要是以下几方面的处理:
(1)宏定义指令,如 #define a??b对于这种伪指令,预编译所要做的
您可能关注的文档
- 做销售不可不知69个禁忌.doc
- [五]甘肃畜牧兽医8期,今日畜牧兽医7期:固体纳米复合维生素对蛋鸡生产性能影响.doc
- 《唐雎不辱使命》中通假字、古今异义、词类活用、一词多义、特殊句式.doc
- 8.3.4中医九种体质辨识和保健要点.doc
- 2008年“吉祥雨”在农一师幸福城农场棉花上大田预防枯黄萎病试验总结1.doc
- 不同血型人性格特征.doc
- 创建全国文明城市工作实施方案2.doc
- 大神日语学习方法.doc
- 冬期施工安全措施.doc
- 高考英语作文可用的复杂句型与高级词汇-备战高考.doc
- 警用安防五年创新:2026年智能照明与警示系统报告.docx
- 2026年警用警灯技术进步行业报告.docx
- 2026年智慧社区养老服务体系十年规划报告.docx
- 2026年农业机器人标准化报告.docx
- 大学生对AI在医疗影像分析中的应用课题报告教学研究课题报告[001].docx
- 2026年智能穿戴压力传感器发展趋势报告.docx
- 2026年室内安防设计五年:空间保护与智能监控报告.docx
- 大学经济管理课程中跨文化交流能力的培养策略课题报告教学研究课题报告.docx
- 2026年绿色农药政策影响五年分析报告.docx
- 基于区块链的学分管理在学分互认中的数据共享与互认机制教学研究课题报告.docx
原创力文档

文档评论(0)