ifdef和 if的區別

2021-10-09 21:29:36 字數 502 閱讀 8643

1)#ifdef只是判斷後面的識別符號有沒有定義,而不在乎識別符號的值,識別符號是0是1對它來說都沒有區別,只要預先定義了,執行#ifdef後的**;

2)#ifdef是和#else搭配使用的,沒有#elif搭配之說;

3)#ifdef必須要有#endif配合使用;

#define iftest1        0

#define iftest2 1

intmain()

輸出:ifdef:0

1)#if是要判斷它後面表示式真假的,是真才執行#if後的**;

2)#if和#elif搭配使用,這就可以用多種條件編譯選擇;

3)#if也是必須要以#endif配合使用。

#define iftest1        0

#define iftest2 1

intmain()

輸出 if

:1

if和 ifdef的區別

學習stm32偶然發現 在keil中直接預先定義巨集use stdperiph driver,但是卻沒有指定巨集的值。而在標頭檔案中判斷用的是如下 1 ifdef use stdperiph driver 2 include stm32f4xx conf.h 3 endif use stdperip...

if和 ifdef的區別

學習stm32偶然發現 在keil中直接預先定義巨集use stdperiph driver,但是卻沒有指定巨集的值。而在標頭檔案中判斷用的是如下 1 ifdef use stdperiph driver 2 include stm32f4xx conf.h 3 endif use stdperip...

ifdef 和 pragma once 的區別

方式1 ifdef heat name define heat name endif 方式2 pragma once 正文 方式1用來防止某個巨集被多次定義。方式2是c 語言中的巨集定義,通過巨集定義避免檔案多次編譯,需要編譯平台的支援。他依賴巨集的名字不能重複,這不光保證同一檔案不會被包含多次,也...