空的宏定义作用及常见用法
生活随笔
收集整理的這篇文章主要介紹了
空的宏定义作用及常见用法
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
空的宏定義作用及常見用法
我們學(xué)習(xí)宏定義的第一個概念是,宏定義作為替換作用。
例如:
#define SIZE 32 // 接下來代碼使用SIZE就相當(dāng)于32
宏定義是編譯器在編譯時,將程序中所有SIZE替換成32,我這里就不詳細將宏定義的知識,
下面講講在項目中,看到空的宏定義是什么情況以及它作用和用法。
先看看項目中的代碼, 如下:
#ifndef SQLITE_API # define SQLITE_API #endif這個宏定義什么都沒有,作用是什么呢?
作用是標(biāo)志
#ifndef __TYPE_DEFINE__ # define __TYPE_DEFINE__#include <stdio.h>typedef unsigned int uint32 ;int func(int x, int y); #endif再看看上面這段代碼,這時防止頭文件重復(fù)的用法。空宏定義跟這個其實一樣的,僅僅只是定義的內(nèi)容是空的,
但是,我們可以判斷這個宏定義是否曾經(jīng)被定義過。
使用方法:
#ifdef __TYPE_DEFINE__ /* 代碼段1 */ #else /* 代碼段2 */ #endif在make menuconfig 啟動編譯的時候,里面其實很多代碼是這樣預(yù)留出來的,我們通過啟動config文件的某個選項: [*] DEBUG
背后其實一般這樣實現(xiàn)的。
還有很多用處,此文待續(xù)~~
轉(zhuǎn)載自:
https://www.cnblogs.com/Mr-Tortoise/p/9153096.html
總結(jié)
以上是生活随笔為你收集整理的空的宏定义作用及常见用法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一些命名规则
- 下一篇: C语言中 void* 详解及应用