#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的定義並重新編譯,即可發給用戶使用了。 |