C++编程->预编译指令小结
首先了解一下预编译函数:
创新互联服务项目包括砚山网站建设、砚山网站制作、砚山网页制作以及砚山网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,砚山网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到砚山省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
#include 包含一个源代码文件
#define 定义宏
#undef 取消已定义的宏
#if 如果给定条件为真,则编译下面代码
#ifdef 如果宏已经定义,则编译下面代码
#ifndef 如果宏没有定义,则编译下面代码
#elif 如果前面的#if给定条件不为真,当前条件为真,则编译下面代码
#endif 结束一个#if……#else条件编译块
#error 停止编译并显示错误信
#include小结:
1. #include
#include
#include
2. #include
#include
#include "iostream"首先在当前目录查找,如果没有找到再到系统目录查找
3. 头文件的多次包含问题
编译器对每个文件只编译一次生成一份机器代码.obj,如果在多个地方包含了同一个头文件,则会出现多次包含的错误,即试图让编译器将此文件编译多次生成多份机器代码。
预编译保护解决此问题。
#ifdef #ifndef #define #endif 条件编译小结
#ifdef DEBUG // 测试DEBUG是否已经定义
#ifndef DEBUG // 测试DEBUG是否没有定义
#define // 定义DEBUG
#endif // #ifdef或者#ifndef语句结束
C++中,定义头文件时,为了避免头文件被多次引用而造成的重复定义,需要将整个头文件内容包含在下面的预编译指令中(假设头文件为file.h):
#ifndef FILE_H
#define FILE_H
// 头文件的内容
#endif
常见的预编译常量小结
__plusplus // 编译C++程序时编译器自动定义
__STDC__ // 编译C程序时编译器自动定义
__FILE__ // 当前编译的文件名
__LINE__ // 当前编译文件的当前行
__DATE__ // 编译文件时的日期
__TIME__ // 编译文件时的时间
其中,__FILE__与__LINE__在编译期间是不断更新的,其他四个变量在编译期间固定。
assert()
C语言定义的预编译宏,断言某个表达式为true;若为false,则抛出异常。
文章名称:C++编程->预编译指令小结
转载注明:http://ybzwz.com/article/igpice.html