读懂预处理文件

本文通过一个简单的C语言程序实例,展示了如何使用GCC编译器的预处理功能来展开宏定义,并解释了预处理过程中产生的特殊标记含义。文章还介绍了宏定义min的具体实现方式及其在程序中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

main.c:

#include <stdio.h>

#define      min(X,Y)      ((X)<(Y)?(X):(Y))

int main()
{
    printf("The min is %d\n",min(3,4));
    return 0;
}

预处理gcc -E main.c > main.pre.c


cat main.pre.c


从中能大量的看到以#开头的行。每行的格式是“#   行号   文件名   标志“,其中的”行号“与”文件名“表示从它后一行开始的内容来源于哪一个文件的哪一行,标志可以是1,2,3,4四个数字,每个数字的含义如下:

1:表示新文件的开始

2:表示从一个被包含的文件中返回

3:表示后面的内容来自系统头文件

4:表示后面的内容应当被当做一个隐式的‘  extern “C”  ’块

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值