#ifdef等预编译指令在VC编程中常常用于防止头文件重复包含。当然也可以用于根据不用选项,编译不同部分程序,以便生成多个版本。
假如存在以下宏:
// #define DATABASE_ACCESS
// #define DATABASE_FOXPRO
// #define DATABASE_SQLSERVER
#define DATABASE_ORACLE
// #define DATABASE_EXCEL
最基本的语句:
1、 基本使用,对应#ifdef,还有#ifndef表示未定义
#ifdef DATABASE_ACCESS
#elif DATABASE_FOXPRO
#else
#endif
2、 若需要使用多个#elif语句,则可以使用如下语句
#if defined (DATABASE_ACCESS)
#elif DATABASE_FOXPRO
#elif DATABASE_ORACLE
#else
#endif
3、 在条件中使用与、或语句
#if defined (DATABASE_ORACLE) || defined (DATABASE_SQLSERVER)
#elif
#endif