首页 > 其他 > 详细

二、C程序编译过程

时间:2021-06-03 23:41:00      阅读:27      评论:0      收藏:0      [点我收藏+]

C程序编译过程:

  预处理、编译、汇编、连接;

 

一 预处理

预处理的过程主要处理包括以下过程:

  • 将所有的#define删除,并且展开所有的宏定义
  • 处理所有的条件预编译指令,比如#if #ifdef #elif #else #endif等
  • 处理#include 预编译指令,将被包含的文件插入到该预编译指令的位置。
  • 删除所有注释 “//”和”/* */”.
  • 添加行号和文件标识,以便编译时产生调试用的行号及编译错误警告行号。
  • 保留所有的#pragma编译器指令,因为编译器需要使用它们

二 编译

把预处理完的文件进行一系列的词法分析,语法分析,语义分析及优化后生成相应的汇编代码;

三 汇编

  将汇编代码转变成机器语言;

四 链接

  静态链接:将所依赖的静态库编译进可执行文件中;

  动态链接:链接时仅加入一些描述信息,程序运行时,再从磁盘中找到相应的动态库载入内存执行;

二、C程序编译过程

原文:https://www.cnblogs.com/tyghl/p/14847134.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!