#ifdef 標識符
程序段1
#else
程序段2
#endif
書上說命令的功能是:如果指定的標識符已被定義,則程序段1參加編譯并產生有效代碼,否則程序段子參加編譯。
舉例:
#define CPU 8051
#ifdef CPU
#define FREQ 6
#else
#define FREQ 12
#endif
書上說這后面的源程序不作任何修改就可以適用于兩種時鐘頻率的單片機系統。
我的問題是為什么只定義了一個#define CPU 8051,就可以適用二兩種時鐘頻率,即CPU被定義了,那么它不執行了#define FREQ 6這段代碼,而未執行#define FREQ 12代碼嗎?小弟還是搞不懂,望各位前輩指點指點 |