1.#include 指令
#include指令用来将一个文件嵌入到当前位置,通过这种方式可以实现多个源文件共享同一个文件,当然,我们一般用#include来嵌入一个头文件,以实现对声明在其中的变量或函数进行引用。#include指令语法格式如下:
#include <文件名> :这种格式表示按照标准方式在编译器指定的目录下进行搜索,一般用来引入系统提供的头文件
#include "文件名" :这种方式表示首先在当前 目录下搜索,如果找不到,再按照上面提到的标准方式来搜索,这种格式一般用来引入自己创建的放置在当前目录的头文件
例如:
#include"stdafx.h"
#include <iostream>
2. #define指令和#undef指令
#define指令:用来定义一个符号常量或者宏
#undef指令:用来删除一个由#define定义的常量或者宏
例如:
#define _DEBUG
#define PI 3.1415926
3.条件编译指令
条件编译指令可以让编译器根据不同的条件改变参与编译的源代码,从而将同一份程序源代码编译成不同的版本,比如说常见的Debug版本、Release版本、ANSI版本、带日志输出版本等。常见的条件编译指令格式如下:
#if 常量表达式
//常量表达式为true,则本段参与编译
程序代码
#endif
#ifdef 标识符
程序段1 //如果定义了标识符,就编译段1
#else
程序段2 //如果没定义,就编译段2
#endif
#ifndef 标识符
程序段 //如果没定义标识符,则编译此段
#endif
4. #pragma once指令
该指令的作用是指定当前文件在编译时只包含一次,这样就可以避免同一个文件被多次引入时,造成数据类型或者函数等的重复定义,同时还可以减少编译时间。
该指令通常用在头文件中,以防止头文件被重复多次引入,当头文件中加入了#pragma once后,预处理程序在处理源文件时,当第一次遇到#include 引入的某个头文件时,就会将这个头文件打开并包含进来,而如果再次遇到相同的#include指令时,这个头文件就不会重复包含进来了。
比如说常见到的标准头文件"stdafx.h"就会自动加上#pragma once: