#ifdef的用法 #include "iostream.h" 更一般的情况是,#define语句是包含在一个特定的头文件中。 #ifndef DEBUG #include "iostream.h" #include "head.h" int main(){ #ifdef DEBUG cout<< "Beginning execution of main()"; #endif return 0; } 运行结果如下:Beginning execution of main() Press any key to continue 结论:通过使用#ifdef指示符,我们可以区隔一些与特定头文件、程序库和其他文件版本有关的代码。 ================================================================================ 为各个版本的软件升级工作是很困难的,因为这些补丁程序都是在一套软件的基础上不断地修改与扩充而编写的,并由不同的标志文件转入到不同的模块,虽然程序 体积在不断扩大,但丝毫不影响老用户的功能,这主要是得益于C程序的#ifdef/#else/#endif的作用。 1.利用#ifdef/#endif将某程序功能模块包括进去,以向某用户提供该功能。 在程序首部定义#ifdef HNLD: #define HNLD #include"n166_hn.c"
如果不许向别的用户提供该功能,则在编译之前将首部的HNLD加一下划线即可。 2.在每一个子程序前加上标记,以便追踪程序的运行。 #ifdef DEBUG printf(" Now is in hunan !"); #endif 3.避开硬件的限制。有时一些具体应用环境的硬件不一样,但限于条件,本地缺乏这种设备,于是绕过硬件,直接写出预期结果。具体做法是: #ifndef TEST i=dial(); //程序调试运行时绕过此语句 #else i=0; #endif 调试通过后,再屏蔽TEST的定义并重新编译,即可发给用户使用了。 |