C/C++预处理详解

本文详细介绍了C/C++预处理的概念,包括预处理命令如#include、条件编译#if/#ifdef等,以及预处理的作用,如文件包含、条件编译和宏替换。解释了文件包含的""和<>的区别,防止头文件重复引用的#ifndef和#pragma once方法,并探讨了预处理中的常见问题,如编译顺序和预处理执行方式。
摘要由CSDN通过智能技术生成

1 预处理介绍

        对于任何一种非机器语言,都需要编译为机器语言,程序才能执行。高级语言(C语言/C++)在进行编译的时候,一般过程为预处理、编译、链接。本文主要总结C/C++中预处理的相关知识。

1.1 预处理命令  

        编译预处理命令:以#开头,以回车结束,独占一行;可出现在程序的任何位置,常置于源程序的开始;不属于C++的语法范畴。

        常用的预处理命令有:

#include 包含头文件

#if 条件

#else 否则

#elif 否则如果

#endif 结束条件

#ifdef #if defined如果定义了一个符号, 就执行操作

#ifndef #if !defined如果没有定义一个符号,就指执行操作

#define 定义一个符号

#undef 删除一个符号

#line 重新定义当前行号和文件名

#error 输出编译错误消息,停止编译

#pragma 提供机器专用的特性,同时保证与C++的完全兼容

1.2      预处理的作用

        常见的预处理有:文件包含,条件编译和宏替换

  • 文件包含

        为什么要用文件包含,在C/C++,为了方便程序员写代码,开发者将常用的函数等放在标准库中,当程序员需要用到某个功能的函数的时候就不需要自己在写代码,而自己将标准库中对应的文件包含进来,就可以直接用里面的函数。再者,程序员自己为了方便程序的管理,需要自己定义头文件。文件包含的命令如下:

<
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值