新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > #if 0用法和 #if 1 用法

        #if 0用法和 #if 1 用法

        作者: 時間:2016-11-28 來源:網絡 收藏
        今天在看程序時,發現一個函數中使用的很多的
        # 1
        ......
        #end
        # 0
        ......
        #endif
        因為沒有用過,感到有點莫名。如是上網查找答案。終于明白是用來注釋編譯內容的。意思是說:
        #if 1 需要編譯器編譯以下內容;
        #if 0 編譯器不要編譯以下內容;
        #if 0 #endif 這種用法還可以實現“注釋嵌套!!!”
        例如:
        void Time_Display(u32 TimeVar)
        {
        #if 1
        u32 TY = 0, TM = 1, TD = 0;
        s32 Num4Y,NumY, OffSec, Off4Y = 0;
        u32 i;
        s32 NumDay; //OffDay;
        #endif
        u32 THH = 0, TMM = 0, TSS = 0;
        #if 0
        THH = TimeVar/3600;
        TMM = (TimeVar % 3600)/60;
        TSS = (TimeVar % 3600)% 60;
        #endif
        #if 1
        {
        Num4Y = TimeVar/SecsPerFourYear;
        OffSec = TimeVar%SecsPerFourYear;
        i=1;
        while(OffSec > Year_Secs_Accu[i++])
        Off4Y++;
        NumY = Num4Y*4 + Off4Y;
        TY = 2000+NumY;
        OffSec = OffSec - Year_Secs_Accu[i-2];
        i=0;
        if(TY%4)
        { // common year
        while(OffSec > Month_Secs_Accu_C[i++]);
        TM = i-1;
        OffSec = OffSec - Month_Secs_Accu_C[i-2];
        }
        else
        { // leap year
        while(OffSec > Month_Secs_Accu_L[i++]);
        TM = i-1;
        OffSec = OffSec - Month_Secs_Accu_L[i-2];
        }
        NumDay = OffSec/SecsPerDay;
        OffSec = OffSec%SecsPerDay;
        TD = NumDay+1;
        THH = OffSec/3600;
        TMM = (OffSec % 3600)/60;
        TSS = (OffSec % 3600)% 60;
        }
        #endif
        printf("Date: %0.4d-%0.2d-%0.2d Time: %0.2d:%0.2d:%0.2dr",TY, TM, TD,THH, TMM, TSS);
        }


        關鍵詞: if

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 汉沽区| 陇川县| 东光县| 于都县| 博湖县| 庆阳市| 广西| 修水县| 长顺县| 乐清市| 滨海县| 仙居县| 浦江县| 遂昌县| 凌源市| 班玛县| 乐都县| 兴宁市| 泌阳县| 繁峙县| 固原市| 凤山县| 克山县| 太保市| 灵武市| 辉县市| 新巴尔虎右旗| 南阳市| 宜川县| 崇明县| 嘉义县| 砀山县| 城口县| 丰宁| 固阳县| 无为县| 寻乌县| 灵璧县| 吉水县| 宁阳县| 宜黄县|