日本精品aⅴ一区二区三区|国产欧美一二三区|国产乱码精品精|国产精品电影在线免费

      1. <blockquote id="utafg"><th id="utafg"></th></blockquote>
    1. <div id="utafg"></div>
        <blockquote id="utafg"><th id="utafg"></th></blockquote>

        <menuitem id="utafg"></menuitem>
      1. 您現(xiàn)在的位置是:首頁 >要聞 > 2023-07-22 08:12:16 來源:

        c++條件編譯(條件編譯)

        導讀 大家好,我是小夏,我來為大家解答以上問題。c++條件編譯,條件編譯很多人還不知道,現(xiàn)在讓我們一起來看看吧!1、條件編譯屬于三種宏定義中...

        大家好,我是小夏,我來為大家解答以上問題。c++條件編譯,條件編譯很多人還不知道,現(xiàn)在讓我們一起來看看吧!

        1、條件編譯屬于三種宏定義中的一種,條件指示符的最主要目的是防止頭文件的重復包含和編譯,例如:一個c文件包含同一個h文件多次,如果不加#ifndef宏定義,會出現(xiàn)變量重復定義的錯誤

        2、條件編譯常用的有四個預處理命令:#if、#else、#elif、#endif。

        3、#if指令的形式為:

        4、#if 常量表達式

        5、代碼塊

        6、#endif

        7、#if后面的常量表達式為值,則編譯它與#endif之間的代碼,否則跳過這些代碼。指令#endif標識一個#if塊的結(jié)束。

        8、#else被使用來標志#if的末尾和#else塊的開始。這是必須的,因為任何#if僅有一個#endif與之關(guān)聯(lián)。

        9、#elif意指"else if",它形成一個if else if嵌套語句用于多種編譯選擇。#elif后面跟一個常量表達式,如果表達式是真,則編譯其后的代碼塊,不對其他#elif表達式進行檢測,否則順序測試下一塊。常見的形式如下:

        10、形式1:

        11、e69da5e6ba9062616964757a686964616f31333337626230#ifdef 標識符

        12、  /*程序段 1*/

        13、  #else

        14、  /*程序段 2*/

        15、  #endif

        16、它的作用是當標識符已經(jīng)由#define定義過了,則編譯程序段1,否則編譯程序段2,也可以使用簡單形式

        17、 #ifdef 標識符

        18、  /*程序段1*/

        19、   #endif

        20、形式2:

        21、  #ifndef 標識符

        22、  #define 標識符

        23、  /*程序段 1*/

        24、  #else

        25、  /*程序段 2*/

        26、  #endif

        27、  它的作用是當標識符沒有由#define定義過,則編譯程序段1,否則編譯程序段2 ,也可以使用簡單形式

        28、  #ifndef 標識符

        29、  #define 標識符

        30、  /*程序段 1*/

        31、  # endif

        32、形式3:

        33、 #if 表達式

        34、  /*程序段 1*/

        35、  #else

        36、  *程序段 2*/

        37、  # endif

        38、  它的作用是 當“表達式”值為真時編譯程序段1。否則則編譯程序段2,也可以使用簡單形式

        39、  # if 表達式

        40、  /*程序段 1*/

        41、  # endif

        42、形式4:

        43、 #if 表達式1

        44、 /*程序段 1*/

        45、 #elif 表達式2

        46、 /*程序段 2*/

        47、 ............

        48、 #elif 表達式n

        49、 /*程序段n */

        50、 #endif

        51、 它的作用是當“表達式1”值為1時編譯程序段1,表達式2的值為真是編譯程序段2,否則依次順序判斷到表達式n。

        52、最后,條件編譯的條件是一個常量表達式,支持邏輯與&&和或||運算。以上四種形式的條件編譯預處理結(jié)構(gòu)都可以嵌套使用,

        53、標識符: 在理論上來說可以是自由命名的,但每個頭文件的這個標識符都應該是唯一的。標識的命名規(guī)則一般是頭文件名全大寫,前后加下劃線,并把文件名中的“.”也變成下劃線,如:stdio.h。

        54、#ifndef _STDIO_H_

        55、#define _STDIO_H_

        56、/*程序段 */

        57、#endif

        本文到此講解完畢了,希望對大家有幫助。