C语言学习之预处理
编译一个C程序需要经过预处理、编译、汇编和链接几个步骤,预处理是在编译之前所做的工作,预处理其实就是对源文件做一些编辑工作,为编译做好准备。
1. 条件编译
#if constant-expression
#endif
或者
#if constant-expression
#elif constant-expression
#else
#endif
测试一个符号是否被定义
#if define(symbol)
#ifdef symbol
或
#if !define(symbol)
#ifndef symbol
2. 文件包含
文件包含使用include指令,它的本质是将包含的文件插入到include处。
3. 宏定义
define指令宏定义一个符号,undef取消一个符号定义,例如:
#define TABSIZE 100
int table[TABSIZE];
4. 预定义符号
__LINE__
__FILE__
这两个宏对于调试时很有用处,它的含义时输出当前的行号和源文件名。
__DATE__
__TIME__
这两个宏常用于版本信息中,分别代表编译的日期和时间。