立即注冊(cè) 登錄
返回首頁(yè)

uid:111517的個(gè)人空間

日志

#if、#ifdef、#if defined之間的區(qū)別

熱度 2已有 986 次閱讀2016-8-10 18:36

#if的使用說(shuō)明】

    #if的后面接的是表達(dá)式

    #if (MAX==10)||(MAX==20) code... #endif

    它的作用是:如果(MAX==10)||(MAX==20)成立,那么編譯器就會(huì)把其中的#if #endif之間的代碼編譯進(jìn)去(注意:是編譯進(jìn)去,不是執(zhí) 行。。

 

 

#if defined的使用】

    #if后面接的是一個(gè)宏。

    #if defined (x) ...code... #endif

    這個(gè)#if defined它不管里面的“x”的邏輯是還是它只管這個(gè)程序的前面的宏定義里面有沒有定義“x”這個(gè)宏,如果定義了x這個(gè)宏,那么,編譯器會(huì)編譯中間的…code…否則不直接忽視中間的…code…代碼。

    另外 #if defined(x)也可以取反,也就用 #if !defined(x)

 

 

#ifdef#ifndef的使用】

    #ifdef的使用和#if defined()的用法一致

    #ifndef又和#if !defined()的用法一致。

 

最后強(qiáng)調(diào)兩點(diǎn):

第一:這幾個(gè)宏定義只是決定代碼塊是否被編譯!

第二:別忘了#endif

1

路過(guò)

雞蛋
1

鮮花

握手

雷人

剛表態(tài)過(guò)的朋友 (2 人)

評(píng)論 (0 個(gè)評(píng)論)

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

返回頂部