C++学习笔记(初级篇)——常用的预编译指令

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:




猜你喜欢

转载自blog.csdn.net/Dr_Neo/article/details/50261127