当前位置: 首页 > article >正文

C语言程序编译和链接

编译环境和运行

编译环境也可以称为翻译环境,是将源代码转换为机器可以识别的二进制指令;

运行环境也可以称为执行环境,用于实际执行代码;

翻译环境 

翻译环境由编译和链接两个部分组成,而编译又可以分解为:预处理(预编译)、编译、汇编;

编译过程又可以细分为:词法分析、语法分析、语义分析及优化,生成相应的汇编代码文件;

文件在翻译环境中的处理过程

  1. 一个C语言项目中可能有多个.c文件

每个.c文件经过编译器后生成对应的目标文件(.obj/.o)

  1. 多个目标文件和链接库一起经过连接器处理后生成可执行程序

编译器展开的3个过程

源文件经过预处理后生成.i文件

再经过编译后生成.s文件

再经过汇编生成目标文件

最后目标文件和链接库一起经过连接器生成可执行程序


http://www.kler.cn/a/406800.html

相关文章:

  • kafka生产者和消费者命令的使用
  • MySQL INSERT CRTATE DELETE DORP UPDATE WHERE 的用法
  • 零地址挂页
  • 人体特定吸收率 (SAR) 分布建模
  • XG(S)-PON原理
  • Redis 可观测最佳实践
  • 利用 GitHub 和 Hexo 搭建个人博客【保姆教程】
  • seq2seq attention详解
  • 用nextjs开发时遇到的问题
  • 安卓应用安装过程学习
  • 苹果Siri将搭载大型语言模型,近屿智能抢占AIGC大模型人才培养高地
  • 掌握Go语言中的异常控制:panic、recover和defer的深度解析
  • 嵌入式Linux学习——标准 I/O 库
  • 【前端知识】前端组件-axios详细介绍
  • 身份证实名认证API接口助力电商购物安全
  • AI修改验证账号名正则表达式的案例
  • Python Flask中集成SQLAlchemy和Flask-Login
  • 应急响应靶机——linux2
  • 栈的应用,力扣394.字符串解码力扣946.验证栈序列力扣429.N叉树的层序遍历力扣103.二叉树的锯齿形层序遍历
  • ThinkPad t61p 作SMB服务器,打印服务器,pc ,android ,ipad利用此服务器互传文件
  • 企业办公自动化:Spring Boot OA管理系统详解
  • DevEco Studio 概述
  • 0-1实现SpringBoot项目开发(1)-SpringBoot+mybatis+mysql+Navicat
  • 5中创建k8s的configMap的方式及configmap使用
  • 深入理解PyTorch中的卷积层:工作原理、参数解析与实际应用示例
  • Spring Boot教程之七: Spring Boot –注释