01-C预处理器和C库
第16章 C预处理器和C库
本章介绍以下内容:
- 预处理指令——#define、#include、#ifdef、#else、#endif、#ifndef、#if、#elif、#line、#error、#pragma;
- 关键字——_Generic、_Noreturn、_Static_assert;
- 函数/宏——sqrt()、atan()、atan2()、exit()、atexit()、assert()、memcpy()、memmove()、va_start()、va_arg()、va_copy()、va_end();
- C预处理器的其他功能;
- 通用选择表达式;
- 内联函数;
- C库概述和一些特殊用途的方便函数。
C语言建立在适当的关键字、表达式、语句以及使用它们的规则上。然而,C标准不仅描述C语言,还描述如何执行C预处理器、C标准库有哪些函数,以及详述这些函数的工作原理。本章将介绍C预处理器和C库,我们先从C预处理器开始。
C预处理器在程序执行之前查看程序(故称之为预处理器)。根据程序中的预处理器指令,预处理器把符号缩写替换成其表示的内容。预处理器可以包含程序所需的其他文件,可以选择让编译器查看哪些代码。预处理器并不知道C。基本上它的工作是把一些文本转换成另外一些文本。这样描述预处理器无法体现它的真正效用和价值,我们将在本章举例说明。前面的程序示例中也有很多 #define 和 #include 的例子。下面,我们先总结一下已学过的预处理指令,再介绍一些新的知识点。