预处理命令

摘要:
C++提供的预处理功能主要有以下3种1、宏定义2、文件包含3、条件编译为了与一般C++语句相区别,这些命令以符号#开头,而且末尾不包含分号宏定义用#define命令将一个指定的标识符(即宏名)来代表一个字符串。在#include命令中,文件名除了可用尖括号括起来以外,还可以用双撇号括起来。#ifdef标识符程序段1#else程序段2#endif作用是当所指定的标识符已经被#define命令定义过,则在程序编译阶段只编译程序段1,否则编译程序段2。#endif用来限定#ifdef的命令范围。

C++提供的预处理功能主要有以下3

1、宏定义

2、文件包含

3、条件编译

为了与一般C++语句相区别,这些命令以符号#开头,而且末尾不包含分号

宏定义

#define命令将一个指定的标识符(即宏名)来代表一个字符串。定义宏的作用一般是用一个短的名字代笔一个长的字符串。它的一般形式

#define标识符字符串

C语言中用#define定义符号常量,由于C++已增加了const语句以定义常变量,因此#define在实际上已不多用

#define命令定义带参数的宏定义,一般形式

#define 宏名(参数表) 字符串

#define S(a,b)a*b//定义宏S(矩形面积)ab为宏的参数

“文件包含”处理

是指一个源文件可以将另外一个源文件的全部内容包含进来,即将另外的文件包含到本文件之中。C++提供了#define命令实现“文件包含”的操作。

#include命令中,文件名除了可用尖括号括起来以外,还可以用双撇号括起来。

#include<iostream.h>系统到系统目录中寻找要包含的文件,如果找不到,编译系统就给出出错信息。所谓系统目录是指存放C++系统的目录。

#include"iostream.h"从当前目录中寻找

条件编译

希望程序中某一部分只在满足一定条件时才进行编译,也就是指定对程序中的一部分内容进行编译的条件。如果不满足这个条件,就不编译这部分内容。

(1)#ifdef 标识符

程序段1

#else

程序段2

#endif

作用是当所指定的标识符已经被#define命令定义过,则在程序编译阶段只编译程序段 1,否则编译程序段2#endif用来限定#ifdef的命令范围。其中#else部分也可以没有。

(2)#ifndef标识符

程序段1

#else

程序段2

#endif

作用是若标识符未被定义过,则编译程序段一,否则编译程序段二

(3)#if表达式

程序段1

#else

程序段2

#endif

是当指定的表达式值为真时就编译程序段1,否则编译程序段2。可以事先给定一定条件,使程序在不同的条件下执行不同的功能。

Linux内核代码及解析 0分下载:http://download.csdn.net/detail/zqiang_55/4392290

bash shell 教程 0分下载:http://download.csdn.net/detail/zqiang_55/4406949

免责声明:文章转载自《预处理命令》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇js监听键盘事件GCD与莫比乌斯反演的勾当下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Ubuntu下搭建C++开发环境

Ubuntu使用eclipse搭建c/c++编译环境----CDT插件 Ubuntu(Linux)使用Eclipse搭建C/C++编译环境          这两天,给自己电脑弄了双系统,除了原来的Windows 7系统外,装上了Linux系统,使用的版本是Ubuntu(点击可到相应的下载页面)。开始我装的Linux版本是fedora9,对于一个根本没接触...

VC项目配置基础 (VC6.0 和VC2005)

一.预处理宏 1. 通用宏 VC6.0中: Project Settingà C/C++à Preprocessor definitions VC2005中: 项目属性à 配置属性à C/C++à 预处理器定义 WIN32:指明是Window 32位系统的编译器,一般用作平台识别。 _MBCS/_UNICODE:指明该工程使用的字符集(多字节字符集/UN...

c++环境配置

C++ 环境设置本地环境设置 如果您想要设置 C++ 语言环境,您需要确保电脑上有以下两款可用的软件,文本编辑器和 C++ 编译器。 文本编辑器 这将用于输入您的程序。文本编辑器包括 Windows Notepad、OS Edit command、Brief、Epsilon、EMACS 和 vim/vi。 文本编辑器的名称和版本在不同的操作系统上可能会有...

关于c++正则表达式的用法

本人最近在做一个项目,这个项目里面有一个功能是这样的,要求这个项目中提供搜索功能,简单的说,如果里面输入1-10 11,15,27,39这个字符串,那么你就要从中找到1,2,3,4,5,6,7,8,9,10和11,15,27,39等等这些数字。我考虑了很久,决定使用正则表达式来做,采用的原因有两点:其一,因为考虑到范围的问题(比如说位数不能超过三位)这样的...

C/C++获取系统当前时间

C/C++获取系统当前时间   C库中与系统时间相关的函数定义在<time.h>头文件中, C++定义在<ctime>头文件中。 一、time(time_t*)函数 函数定义如下: time_t time (time_t* timer); 获取系统当前日历时间 UTC 1970-01-01 00:00:00开始的unix时间戳参数:...

Python中第三方库的安装

网上的帖子挺多的,教你如何安装,安装第三方工具库的方法总共分为三类:Dos系统下pip命令;安装包下载安装;IDE集成环境下安装(Pycharm,Spyder……) http://www.jianshu.com/p/41a9c25273b1 一、pip命令 感觉这个最简单,但是需要注意几点 1、get-pip这个文件是否在您的Python目录中,Pytho...