#include 指令

将指定文件的内容插入源程序中的预处理器指令,该指令出现在源程序中。

#include“filename
<#include文件名>

参数

描述
filename 要包含的文件的文件名(可选)前面有目录规范。 文件名必须指定现有文件。

注解

#include指令会导致由指定文件的全部内容替换指令。 预处理器在找到具有指定名称的文件后立即停止搜索;如果为文件指定完整的明确路径规范,则预处理器仅搜索指定的路径。

注意

Effect-Compiler Tool 具有使用 /I 开关的内置包含处理程序。 但是,从 API 执行编译器时,可以通过实现 ID3DXInclude 接口来提供自定义的 include 处理程序。

这两种语法形式之间的差异是预处理器在未完全指定路径时搜索头文件的顺序,如下表所示。

语法形式 预处理器搜索模式
#include filename 搜索包含文件:
  1. 与包含#include指令的文件位于同一目录中。
  2. 包含在包含#include指令的文件的#include指令的任何文件的目录中。
  3. 在 /I 编译器选项指定的路径中,按列出顺序排列。
  4. 由 INCLUDE 环境变量指定的路径中,按列出顺序排列。

    [!NOTE]
    在开发环境中忽略 INCLUDE 环境变量。 有关如何为项目设置包含路径的信息,请参阅开发环境的文档。


<#include文件名> 搜索包含文件:
  1. 在 /I 编译器选项指定的路径中,按列出顺序排列。
  2. 由 INCLUDE 环境变量指定的路径中,按列出顺序排列。

    [!NOTE]
    在开发环境中忽略 INCLUDE 环境变量。 有关如何为项目设置包含路径的信息,请参阅开发环境的文档。


示例

下面的示例使预处理器将 #include 指令替换为 stdio.h 的内容。 由于该示例使用尖括号格式,因此预处理器将仅在 /I 编译器选项和 INCLUDE 环境变量列出的目录中搜索文件。

#include <stdio.h>

另请参阅