網站首頁 編程語言 正文
#if定義
#if和#endif是一組同時使用的,叫做條件編譯指令。#if與#define、#include等指令一樣是由預處理器這個強大的工具處理的,預處理器可以在編譯前處理c程序。
#if使用
#if的后面接的是表達式
#if (MAX == 10)||(MAX == 20) code... #endif
它的作用是:如果(MAX == 10)|| (MAX == 20)
成立,那么編譯器就會把其中的#if 與 #endif之間的代碼編譯進去(注意:是編譯進去,不是執行??!)
#if defined的使用
#if后面接的是一個宏。
#if defined (x) ...code... #endif
這個#if defined它不管里面的“x”的邏輯是“真”還是“假”它只管這個程序的前面的宏定義里面有沒有定義“x”這個宏,如果定義了x這個宏,那么,編譯器會編譯中間的…code…否則不直接忽視中間的…code…代碼。
另外 #if defined(x)也可以取反,也就用 #if !defined(x)
ifdef的使用
#ifdef的使用和#if defined()的用法一致
#ifndef又和#if !defined()的用法一致。
結尾
最后強調兩點:
- 第一:這幾個宏定義只是決定代碼塊是否被編譯!
- 第二:別忘了#endif
原文鏈接:https://blog.csdn.net/szm1234/article/details/116589386
相關推薦
- 2023-04-11 利用Matlab實現時域分析功能的示例詳解_C 語言
- 2023-02-09 Python關鍵字?asynico基本用法_python
- 2021-12-12 七大經典排序算法圖解_C 語言
- 2022-07-09 利用go語言實現查找二叉樹中的最大寬度_Golang
- 2022-04-18 python?request?post?列表的方法詳解_python
- 2022-06-29 tomcat正常啟動但網頁卻無法訪問的幾種解決方法_Tomcat
- 2022-11-13 Elasticsearch6.2服務器升配后的bug(避坑指南)_服務器其它
- 2022-01-19 正則表達式匹配日期格式yyyy-mm-dd(支持閏年)
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支