6.10.2 源文件包含

约束

1、一个#include指示符应该指定一个能被实现处理的头文件或源文件。

语义

2、一个预处理指示符如下形式

#    include    <h-char-sequence>    new-line

搜索一个由实现定义的地方的序列,该地方用<>分隔符之间所指定的序列唯一标识,并使得该指示符用头文件整个内容进行替换。这些地方如何指定或头文件标识符如何指定是由实现定义的。

3、一个预处理指示符的如下形式

#    include    "q-char-sequence"    new-line

引发由"分隔符之间所指定的序列标识的整个源文件的内容来替换该指示符。命名源文件以一个实现定义的方式进行搜索。如果该搜索不被支持,或者该搜索失败,那么该指示符正如它用以下指示符所读到内容重新处理

#    include    <h-char-sequence>    new-line

4、一个以下形式的预处理指示符

#    include    pp-tokens    new-line

(不匹配之前两种形式的任何一个)是允许的。在指示符中include之后的预处理符记正如在正常文本中的一样。(当前被定义为一个宏名的每个标识符用其预处理符记替换列表进行替换)在所有替换之后的指示符结果应该匹配先前两种形式之一。[注:注意,邻近字符串字面量不被拼接为一单个字符串字面量(见5.1.1.2中的翻译阶段);从而,结果为两个字符串字面量的一个扩展是一个无效的指示符。]在<>分隔符之间或在一对"之间的一序列预处理符记被结合为一单个头文件名预处理符记的方法,是实现定义的。

5、实现应该提供对由一个或多个非数字或数字,后面跟着一个点(.)以及一单个非数字所组成序列的唯一映射。第一个字符不应该是一个数字。实现可以忽略字母顺序区别的情况,并在点之前将映射限制到八位有效字符。

6、一个#include预处理指示符可以出现在一个已被读的源文件中,因为在另一个源文件里的一个#include预处理指示符,这取决于实现定义的嵌套限制。

7、例1 对#include预处理指示符最通常的用法如下:

#include <stdio.h>
#include "myprog.h"

8、例2 以下片段描述了用宏替换的#include指示符:

#if VERSION == 1
#define INCFILE "vers1.h"
#elif VERSION == 2
#define INCFILE "vers2.h" // 等等
#else
#define INCFILE "versN.h"
#endif #include INCFILE

结束。

最新文章

  1. xcode升级导致git无法使用
  2. Redis java操作客户端
  3. Unable to execute dex: java.nio.BufferOverflowException.解决办法
  4. 【iCore3 双核心板_FPGA】实验十四:FSMC总线通信实验——独立地址模式
  5. js 给样式添加随机颜色
  6. weblogic管理1——创建 和 删除一个domain
  7. 通过Html5的postMessage和onMessage方法实现跨域跨文档请求访问
  8. js+dom开发第十六天
  9. c#读取进程列表判断程序是否已经启动(转)
  10. 转:Emmet 学习之路 - 2 基本语法
  11. Spark数据本地化--&gt;如何达到性能调优的目的
  12. 文件的基本管理和XFS文件系统备份恢复
  13. js 时间戳转换为‘yyyy-MM-dd hh:mm’格式(es6语法)
  14. BZOJ4083 : [Wf2014]Wire Crossing
  15. python的条件语句
  16. 第九节:详细讲解Java中的泛型,多线程,网络编程
  17. span标签 宽度无效解决方案
  18. Selenium--调用js,对话框处理 (python)
  19. Centos配置为驱动程序开发环境
  20. C语言 &#183; 企业奖金发放

热门文章

  1. nodejs 将不同文件夹中的视频整合到一个文件夹中
  2. H3C 802.11 WEP加密原理
  3. 【总结】RSS Hub使用经验
  4. Pthon魔术方法(Magic Methods)-hash
  5. php图片防盗链
  6. mongodb 常见问题处理方法收集
  7. 万众期待的kintone开发账号免费开放申请啦!
  8. Codeforces H. Malek Dance Club(找规律)
  9. SQL异常总结
  10. BZOJ3028 食物 和 LOJ6261 一个人的高三楼