你可以通过
#if
,
#else
和
#endif
这组指令实现这一点。例如,头文件
alloc.h
和
malloc.h
的作用和内容基本相同,但前者供
BorlandC++
编译程序使用,后者供
MicrosoftC++
编译程序使用。如果你在编写一个既支持
BorlandC++
又支持
MicrosoftC++
的程序,你就应该指定在编译时是包含
alloc.h
头文件还是包含
malloc.h
头文件,请看下例:
#ifdef __BORLANDC__
#include<alloc.h>
#else
#include<malloc.h>
#endif
当用 BorlandC++ 编译程序处理上例时,编译程序会自动定义 __BORLANDC__ 标识符名称,因此 alloc.h 头文件将被包含进来;当用 microsoftC++ 编译程序处理上例时,由于编译程序检查到 __BORLANDC__ 标识符名称没有被定义,因此 malloc.h 头文件将被包含进来
#ifdef __BORLANDC__
#include<alloc.h>
#else
#include<malloc.h>
#endif
当用 BorlandC++ 编译程序处理上例时,编译程序会自动定义 __BORLANDC__ 标识符名称,因此 alloc.h 头文件将被包含进来;当用 microsoftC++ 编译程序处理上例时,由于编译程序检查到 __BORLANDC__ 标识符名称没有被定义,因此 malloc.h 头文件将被包含进来