欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

#define的高級用法簡介

黃工的嵌入式技術(shù)圈 ? 來源:黃工的嵌入式技術(shù)圈 ? 作者:黃工的嵌入式技術(shù) ? 2020-02-05 11:50 ? 次閱讀

來源:嵌入式大雜燴

地址:https://blog.csdn.net/xiaoxu2050/article/details/82893476

一、宏的定義與撤銷

需要注意的是:

(1)宏定義應(yīng)注意添加括號,這樣語義會(huì)比較清晰。

(2)使用#undef可以撤銷宏定義。

(3)引號中的宏定義不會(huì)被替換。

(4)宏定義的宏名必須是合法的標(biāo)識符。

(5)宏定義中單、雙引號必須成對出現(xiàn)。

二、帶有參數(shù)的宏定義

需要注意的是:

(1)宏調(diào)用時(shí)參數(shù)的個(gè)數(shù)要與定義時(shí)相同。

三、跨行的宏定義,使用反斜杠 分隔

四、三個(gè)特殊符號:#,##,#@

五、常見的宏定義

1、防止頭文件被重復(fù)包含

2、得到指定地址上的一個(gè)字節(jié)值或字值

3、得到一個(gè)field在結(jié)構(gòu)體(struct)中的偏移量

#defineOFFSETOF(type,field)((size_t)&((type*)0)->field)

4、得到一個(gè)結(jié)構(gòu)體中field所占用的字節(jié)數(shù)

#defineFSIZ(type,field)sizeof(((type*)0)->field)

5、得到一個(gè)變量的地址(word寬度)

#defineB_PTR(var)((byte*)(void*)&(var)) #defineW_PTR(var)((word*)(void*)&(var))

6、將一個(gè)字母轉(zhuǎn)換為大寫

#defineUPCASE(c)(((c)>='a'&&(c)<=?'z')???((c)?-?0x20)?:?(c)?)

7、判斷字符是不是10進(jìn)制的數(shù)字

#defineDECCHK(c)((c)>='0'&&(c)<=?'9')

8、判斷字符是不是16進(jìn)制的數(shù)字

#defineHEXCHK(c)(((c)>='0'&&(c)<=?'9')?||((c)?>='A'&&(c)<=?'F')?||((c)?>='a'&&(c)<=?'f'))

9、防止溢出的一個(gè)方法

#defineINC_SAT(val)(val=((val)+1>(val))?(val)+1:(val))

10、返回?cái)?shù)組元素的個(gè)數(shù)

#defineARR_SIZE(a)(sizeof((a))/sizeof((a[0])))

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5094

    文章

    19184

    瀏覽量

    307857
  • C語言
    +關(guān)注

    關(guān)注

    180

    文章

    7614

    瀏覽量

    137780
收藏 人收藏

    評論

    相關(guān)推薦

    WEBENCH電源高級分析

    電子發(fā)燒友網(wǎng)站提供《WEBENCH電源高級分析.pdf》資料免費(fèi)下載
    發(fā)表于 01-21 14:53 ?0次下載
    WEBENCH電源<b class='flag-5'>高級</b>分析

    keil在Debug的高級用法

    第一節(jié)軟件說明Keil提供了包括C編譯器、宏匯編、鏈接器、庫管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個(gè)集成開發(fā)環(huán)境(μVision)將這些部分組合在一起。目前軟件對中文的支持不友好,不建議安裝網(wǎng)上的一些漢化包之類的。另外建立的工程文件路徑也盡量不要存在中文,否則可能會(huì)出現(xiàn)一些異常。第二節(jié)基本調(diào)試方法1,基本調(diào)試操作:首先點(diǎn)擊"Debug->
    的頭像 發(fā)表于 12-26 21:01 ?401次閱讀
    keil在Debug的<b class='flag-5'>高級</b><b class='flag-5'>用法</b>

    DAC7562的CLR引腳怎么用法?可以懸空嗎?

    DAC7562的CLR引腳怎么用法?可以懸空嗎?能不能詳細(xì)解釋一下?謝謝
    發(fā)表于 12-17 08:16

    PCB高級EMC設(shè)計(jì)

    PCB高級EMC設(shè)計(jì) ?
    的頭像 發(fā)表于 11-16 11:28 ?1836次閱讀
    PCB<b class='flag-5'>高級</b>EMC設(shè)計(jì)

    Linux lsof命令的基本用法

    在 linux 系統(tǒng)中,一切皆文件。通過文件不僅僅可以訪問常規(guī)數(shù)據(jù),還可以訪問網(wǎng)絡(luò)連接和硬件。所以 lsof 命令不僅可以查看進(jìn)程打開的文件、目錄,還可以查看進(jìn)程監(jiān)聽的端口等 socket 相關(guān)的信息。本文將介紹 lsof 命令的基本用法,本文中 demo 的演示環(huán)境為 ubuntu 18.04。
    的頭像 發(fā)表于 10-23 11:52 ?441次閱讀
    Linux lsof命令的基本<b class='flag-5'>用法</b>

    SV中define宏定義的用法

    SV中使用預(yù)處理指令`define來定義宏,宏可以用來創(chuàng)建文本替換。根據(jù)場景不同,`define主要用來定義常量、簡化復(fù)雜的表達(dá)式或代碼段以及提高代碼的可移植性。其基本語法為:
    的頭像 發(fā)表于 10-21 14:22 ?816次閱讀

    共模電感的用法

    呈現(xiàn)出大電感,具有抑制作用,而對于差模信號則呈現(xiàn)出很小的漏電感,幾乎不起作用。以下是對共模電感用法的詳細(xì)探討。
    的頭像 發(fā)表于 10-17 15:12 ?1074次閱讀

    安達(dá)發(fā)|APS高級排程高級物料需求計(jì)劃

    APS高級排程高級物料需求計(jì)劃是在制造業(yè)中非常重要的概念。它們分別涉及到生產(chǎn)計(jì)劃和物料管理,對于提高生產(chǎn)效率、降低成本和滿足客戶需求具有重要意義。下面我將詳細(xì)介紹這兩個(gè)概念及其在實(shí)際生產(chǎn)
    的頭像 發(fā)表于 09-25 17:49 ?375次閱讀
    安達(dá)發(fā)|APS<b class='flag-5'>高級</b>排程<b class='flag-5'>高級</b>物料需求計(jì)劃

    Sn74hc245具體的用法是什么?

    Sn74hc245是緩沖器,但是具體的用法不會(huì)
    發(fā)表于 09-10 07:32

    鴻蒙Ability Kit(程序框架服務(wù))【UIAbility組件基本用法

    UIAbility組件的基本用法包括:指定UIAbility的啟動(dòng)頁面以及獲取UIAbility的上下文[UIAbilityContext]。
    的頭像 發(fā)表于 06-06 11:02 ?566次閱讀
    鴻蒙Ability Kit(程序框架服務(wù))【UIAbility組件基本<b class='flag-5'>用法</b>】

    InterfaceDesinger 使用案例-v1 -DDIO用法

    ? DDIO用法 對于輸入輸出IO很多時(shí)候會(huì)用到DDIO的用法。對于DDIO,就是時(shí)鐘的雙沿采集或者發(fā)送數(shù)據(jù),所以必須要用到寄存器。它的設(shè)置也比較簡單,在intefaceDesigner中添加
    的頭像 發(fā)表于 05-20 16:30 ?967次閱讀
    InterfaceDesinger 使用案例-v1 -DDIO<b class='flag-5'>用法</b>

    C語言#define的應(yīng)用

    在 C/C++ 編程語言中,當(dāng)程序被編譯時(shí),被發(fā)送到編譯器,編譯器將程序轉(zhuǎn)換為機(jī)器語言,然后完成編譯并執(zhí)行該程序。預(yù)處理器也稱為宏預(yù)處理器。
    發(fā)表于 03-06 11:29 ?432次閱讀
    C語言#<b class='flag-5'>define</b>的應(yīng)用

    AWTK 開源串口屏開發(fā)(10) - 告警信息的高級用法

    信息的顯示和管理。本文介紹告警信息的兩種高級用法:查詢告警信息。如果告警信息比較多,我們需要通過查詢,來快速找到我們想要的告警信息。查看告警信息的詳情。如果某條告警
    的頭像 發(fā)表于 02-24 08:23 ?370次閱讀
    AWTK 開源串口屏開發(fā)(10) - 告警信息的<b class='flag-5'>高級</b><b class='flag-5'>用法</b>

    verilog inout用法與仿真

    ,本文將詳細(xì)討論 inout 的用法和仿真。 首先,我們來了解一下 inout 的含義。 inout 是一種雙向信號類型,即可以作為輸入信號也可以作為輸出信號。它類似于雙向數(shù)據(jù)線,可以實(shí)現(xiàn)數(shù)據(jù)的雙向傳輸。在硬件設(shè)計(jì)中, inout 可以用于與外部設(shè)備進(jìn)行通信,如鍵盤、鼠標(biāo)、顯
    的頭像 發(fā)表于 02-23 10:15 ?3330次閱讀

    verilog function函數(shù)的用法

    Verilog 中被廣泛用于對電路進(jìn)行模塊化設(shè)計(jì),以簡化和組織代碼。 本文將詳細(xì)介紹 Verilog 函數(shù)的用法,并探討函數(shù)在硬件設(shè)計(jì)中的重要性和實(shí)際應(yīng)用場景。 一. Verilog 函數(shù)概述 Verilog 函數(shù)通過提供一種結(jié)構(gòu)化的方式來組織代碼,并可以根據(jù)需要重復(fù)使用。它們可以在模塊內(nèi)部或外部定義,
    的頭像 發(fā)表于 02-22 15:49 ?6082次閱讀