找不到出處是**了…
#ifdef 和 #if defined 的區別在於,後者可以組成複雜的預編譯條件,比如
#if defined (aaa) && defined (bbb)
*********
#endif
#if defined (aaa) || version > 12
*********
#endif
而#ifdef 就不能用上面的用法,也就是說,當你要判斷單個巨集是否定義時
#ifdef 和 #if defined 效果是一樣的,但是當你要判斷複雜的條件時,只能用 #if defined
例子:#if !defined (config_distributed) || defined (config_mpu)
注意,第1個defined前面有個嘆號。
預處理和 define
目錄前言 預處理 define 巨集的優缺點 巨集的優點 巨集的缺點 既然要談預處理,那麼肯定得知道預處理是什麼?程式語言的預處理的概念 在編譯之前進行的處理。c語言的預處理主要有三個方面的內容 巨集定義 檔案包含 條件編譯。預處理命令以符號 開頭。預處理命令總是占用源 中的單獨一行,並且總是以 字...
define和預處理指令
define和預處理指令 妖妖隨筆 預處理過程是先於編譯器對源 進行處理 進行初步的轉換 產生新的源 提供給編譯器。格式 預處理指令是以 開頭的 行,後是指令關鍵字,在關鍵字和 號之間允許存在任意個數的空白字元。空指令 沒有任何效果 include 引入乙個源 檔案 define 定義巨集 unde...
預處理指令define
1 用預處理指令 define 宣告乙個常數,用以表明1年中有多少秒 忽略閏年問題 define seconds per year 60 60 24 365 ul 我在這想看到幾件事情 define 語法的基本知識 例如 不能以分號結束,括號的使用,等等 懂得預處理器將為你計算常數表示式的值,因此,...