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

【c语言】详解c语言#预处理期过程 | 宏定义前言

c语言系列专栏: c语言之路重点知识整合  

创作不易,本篇文章如果帮助到了你,还请点赞支持一下♡>𖥦<)!! 

主页专栏有更多知识,如有疑问欢迎大家指正讨论,共同进步!

给大家跳段街舞感谢支持!ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ

代码编译到执行的过程:c语言从源码到exe文件的过程

目录

 从源代码到exe

预处理期过程


 从源代码到exe

    1:预处理期(也叫预编译): 在这一阶段,源码中的所有预处理语句得到处理例如:#include语句所包含的文件内容替换掉语句本身,所有已定义的宏被展开。

    2:编译期:编译器对源码进行词法分析、语法分析、优化等操作,最后生成汇编代码。

    3:汇编期:生成机器语言代码,保存在后缀为.o的目标文件中

    4:链接期:经过汇编以后的机器代码还不能直接运行。为了使操作系统能够正确加载可执行文件,文件中必须包含固定格式的信息头,还必须与系统提供的启动代码链接起来才能正常运行,这些工作都是由链接器来完成的。

    5:执行期:执行.EXE文件,得到运行结果

预处理期过程

为了探究预处理期 先进行项目属性设置:

生成解决方案后,源debug文件原来的.obj文件变成了.i文件,使用记事本打开:

预处理的过程:源代码编译之前的环节,包含四次头文件,.i文件中即包含了四次。 

 创建.h文件:

 pragma once作用:预处理 包含(拷贝)一次

预处理期就是将.h文件中的代码拷贝一份到主文件中

就是头文件的包含过程

预编译的指令需要使用#号,define也是#号,#include和#define有什么区别呢?

#include相当于复制粘贴的过程

#define相当于查找替换过程

他们都是预处理期的操作,然后再进行编译。

#define宏定义知识点:c语言宏定义知识点详解

大家的点赞、收藏、关注将是我更新的最大动力!欢迎留言或私信建议或问题。
大家的支持和反馈对我来说意义重大,我会继续不断努力提供有价值的内容!

http://www.lryc.cn/news/62989.html

相关文章:

  • 内网远程控制软件哪个好用
  • 【计算机基本原理-数据结构】数据结构中树的详解
  • 数字设计小思 - D触发器与死缠烂打的亚稳态
  • Notes/Domino 11.0.1FP7以及在NAS上安装Domino等
  • 【VM服务管家】VM4.x算子SDK开发_3.3 模块工具类
  • Aspose.Pdf使用教程:在PDF文件中添加水印
  • H.264/AVC加密----选择加密
  • WuThreat身份安全云-TVD每日漏洞情报-2023-04-26
  • 剑指 Offer第二版:1~n 整数中 1 出现的次数、51. 数组中的逆序对、56 - II. 数组中数字出现的次数 II
  • 云原生-k8s核心概念(pod,deploy,service,ingress,configmap,volume)
  • 他工作10年,老板却让他走人
  • vpp怎么写node
  • 【4. ROS的主要通讯方式:Topic话题与Message消息】
  • 【react全家桶学习】react中组件定义及state属性(超详/必看)
  • 如何以产品经理思维打造一所高品质学校?
  • 根治Spring中使用Mongo时报错InvalidMongoDbApiUsageException
  • 【计算机组成原理】数据的表示和运算·进位计数制
  • C++ Primer第五版_第十四章习题答案(21~30)
  • 服务器性能调优
  • 带你深入学习k8s--(三) pod 管理
  • 前端系列11集-ES6 知识总结
  • 连接分析工具箱 | 利用CATO进行结构和功能连接重建
  • 【目标检测论文阅读笔记】Detection of plane in remote sensing images using super-resolution
  • 外卖app开发流程全解析
  • BUUCTF jarvisoj_level0
  • 网络安全之入侵检测
  • 元数据管理
  • C# WebService的开发以及客户端调用
  • 有符号数和无符号数左移和右移
  • Netty小白入门教程