☰
Linux环境下c语言的预处理命令
2026/9/30 2:47:47 网站建设 项目流程

一.预处理的功能

1.在c语言中#include <stdio.h> 就是一种预处理命令
类似还有#include<srring.h>这种都属于预处理命令
2.这些预处理命令都是带有#开头的

1.C提供的预处理功能主要有以下3种:

  • 宏定义
  • 文件包含
  • 条件编译

2.编译器:

1.通过gcc编译器可以将.c文件编译成可执行文件

2.注意:gcc编译器默认直接一步到位,但底层其实分 4 个步骤

3.实际的编译过程:

预处理:
将程序中的预处理命令,执行完,将代码处理成 纯的C语言代码
编译:
将预处理完的文件,进行语法,词法分析,检查问题
生成 一份 汇编代码

汇编:
将前面的汇编代码,最终翻译成机器代码

链接:
将用到的第三方代码 链接(拼接)成为 最终可执行程序

4.编译过程的步骤代码

预处理:
gcc -E hello.c -o hello.i
编译:
gcc -S hello.i -o hello.s
汇编:
gcc -c hello.s -o hello.o
链接:
gcc hello.o -o hello

示例:
以输入hello world到终端的代码演示四个步骤

(1)预处理阶段

(2)编译阶段

(3)汇编阶段

(4)链接阶段

1. 宏定义

用宏来替代文本信息

写法:

1.define 标识符 字符串
2.define 宏名 宏值

注意:

1.宏本质还是一个标识符,宏名通常用字符常量表示(最好大写)
2.运行的本质是将文本信息原样替代
3.用宏定义可以提高代码的可读性,方便后期调整

2.带参宏

1.带参宏 ,可以给一些参数,形式特别像函数调用
2.与函数区别在于没有类型
3.函数在程序运行后才可以用,宏在预处理阶段就处理完了
4.带参宏参与运算的时候加上括号,否则容易被改变值

所有宏定义都是以换行作为结束符,都是将文本信息原样替代

代码示例:


带参宏还可以定义一串代码

要用加上\代表在同一行,\后面不得跟有其他符号,结果输出一致,将宏的部分替代成一串代码

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询