#if...#endif的用法總結


參考:https://www.cnblogs.com/lihuidashen/p/3485401.html

#if...#endif的用法總結

 

  在寫到  pwm音階程序的時候,在代碼中有#if...#endif的用法問題,相關音階的代碼如下:

yinjie

下面筆者來說說 #if...#endif的用法;

#if...#endif是C++種的條件編譯預處理命令 有兩種格式:

1:#ifdef  標示符      

  程序段1      

#else         

  程序段2     

#endif 

表示:如果標示符已經被#define命令定義過,則編譯程序段1,否則編譯程序段2

2:#if 表達式      

   程序段1    

#else         

  程序段2    

#endif

表示:如果表達式為真,則編譯程序段1,否則編譯程序段2.

你寫出的命令應該屬於格式1

  它的意思是,如果在程序中沒有對**進行過#defined ** 的定義。則編譯下面的語句,否則不編譯。這中情況多用在需要經常移植的程序模塊上,或是調試的時候用.

  結合使用 #if 與 #else、#elif、#endif、#define 和 #undef 指令,可以根據一個或多個符號是否存在來包含或排除代碼。 在編譯調試版本的代碼或針對特定配置進行編譯時,這會很有用。

以 #if 指令開始的條件指令必須用 #endif 指令顯式終止。

#define 使您可以定義一個符號,通過將該符號用作傳遞給 #if 指令的表達式,使該表達式計算為 true。

也可以用 /define 編譯器選項來定義符號。 可以用 #undef 來取消定義符號。

用 /define 或 #define 定義的符號與具有同一名稱的變量不沖突。 即,不應將變量名傳遞到預處理器指令,並且只能用預處理器指令計算符號。

用 #define 創建的符號的范圍是在其中定義該符號的文件。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM