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

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

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

C語言中最常見的宏定義寫法

學(xué)益得智能硬件 ? 來源: 學(xué)益得智能硬件 ? 2024-10-28 11:12 ? 次閱讀

如果讓你用C語言寫個宏定義,我相信大部分同學(xué)順手就能寫出define。

這也是C語言中最常見的宏定義寫法,這樣的代碼在預(yù)處理的時候直接被替換。

在C語言中,還有兩種宏定義容易被忽略。

一種是預(yù)定義宏,顧名思義,就是別人預(yù)先定義好的,拿過來用就行。

常見的比如file line date time 分別表示文件名、行號、日期和時間,主要就是讓用戶用起來更方便。

還有一種定義宏的方式,是在編譯的時候,以 gcc 為例。

#include 


int main()
{
    printf("%d
", A);
    
    return 0;
}

我們在代碼中輸出 A,如果代碼直接拿過來編譯,肯定會報錯,A 既不是變量也不是常量,屬于未定義。

但是如果在編譯的時候,加上 -D 選項,后面跟上 A,可以給他賦值,也可以不賦值,那編譯就能順利通過,A默認的值是 1。

gcc test.c -o test -D A

這個用法的使用場景很多,比如跨平臺,比如加一些調(diào)試選項,如果定義了 DEBUG,就輸出下面的調(diào)試信息,編譯的時候,通過 -D 選項,就能控制調(diào)試信息是否輸出,可以避免項目發(fā)

布的時候,再去一行一行刪除調(diào)試信息。

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

    關(guān)注

    180

    文章

    7628

    瀏覽量

    139977
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4883

    瀏覽量

    70114
  • 宏定義
    +關(guān)注

    關(guān)注

    0

    文章

    51

    瀏覽量

    9160
  • define
    +關(guān)注

    關(guān)注

    0

    文章

    16

    瀏覽量

    3872

原文標題:不用define,如何定義宏

文章出處:【微信號:學(xué)益得智能硬件,微信公眾號:學(xué)益得智能硬件】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 0人收藏

    評論

    相關(guān)推薦
    熱點推薦

    C語言定義使用技巧

    寫好C語言,漂亮的定義很重要,使用定義可以防止出錯,提高可移植性,可讀性,方便性等等。下面列
    發(fā)表于 07-29 09:35 ?1192次閱讀

    【RT-Thread學(xué)習(xí)筆記】一種C語言定義寫法

    【RT-Thread學(xué)習(xí)筆記】一種C語言定義寫法
    的頭像 發(fā)表于 07-30 13:41 ?2557次閱讀
    【RT-Thread學(xué)習(xí)筆記】一種<b class='flag-5'>C</b><b class='flag-5'>語言</b><b class='flag-5'>宏</b><b class='flag-5'>定義</b>的<b class='flag-5'>寫法</b>

    C語言中常用的定義

    寫好C語言,漂亮的定義很重要,使用定義可以防止出錯,提高可移植性,可讀性,方便性等等。下面列
    發(fā)表于 10-18 10:05 ?1907次閱讀

    C語言中預(yù)定義的用法和使用場景

    C語言中,預(yù)定義是由編譯器提供的一組特殊標識符,可以在程序中直接使用,無需進行額外的定義
    發(fā)表于 08-16 16:12 ?687次閱讀

    C語言中定義的應(yīng)用

    C語言中,定義是一種預(yù)處理指令,用于在代碼中定義和使用常量、函數(shù)或代碼片段的替代。
    發(fā)表于 08-17 15:33 ?1086次閱讀

    C語言中定義的使用技巧

    #define命令是C語言中的一個定義命令,它用來將一個標識符定義為一個字符串,該標識符被稱為
    發(fā)表于 09-05 10:12 ?1516次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語言中</b><b class='flag-5'>宏</b><b class='flag-5'>定義</b>的使用技巧

    labview中有類似于c語言中定義

    如題,labview中有類似于c語言中定義嗎 define xxx XXX。。。多謝~
    發(fā)表于 10-05 15:04

    C語言中

    定義是我們C語言學(xué)習(xí)中非常重要的內(nèi)容。一些基礎(chǔ)的用法大家都比較清楚了,我們簡單總結(jié)一下。1.定義
    發(fā)表于 12-13 15:32

    c語言中常用的定義有哪些?

    c語言中常用的定義有哪些?
    發(fā)表于 04-28 06:01

    C語言中是什么

    第五章 性能優(yōu)化5.1 使用定義  在C語言中,是產(chǎn)生內(nèi)嵌代碼的唯一方法。對于嵌入式系統(tǒng)而言,為了能達到性能要求,
    發(fā)表于 12-15 08:20

    匯總和深挖C語言中定義所有的知識點

    知識點在剛開始接觸時,我感覺比較難懂、不好理解,那么以后不論我花多長時間去研究這個知識點,心里會一直認為該知識點比較難,也就是說第一印象特別的重要。 就比如 C 語言中定義,好像跟
    的頭像 發(fā)表于 05-03 18:31 ?2904次閱讀
    匯總和深挖<b class='flag-5'>C</b><b class='flag-5'>語言中</b><b class='flag-5'>宏</b><b class='flag-5'>定義</b>所有的知識點

    C語言中的__attribute__定義之section屬性

    C語言中的 __attribute__之section屬性文章目錄C語言中的 __attribute__
    發(fā)表于 11-16 18:21 ?47次下載
    <b class='flag-5'>C</b><b class='flag-5'>語言中</b>的__attribute__<b class='flag-5'>宏</b><b class='flag-5'>定義</b>之section屬性

    C語言中定義

    #define命令是C語言中的一個定義命令,它用來將一個標識符定義為一個字符串,該標識符被稱為
    的頭像 發(fā)表于 09-28 16:05 ?3798次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語言中</b>的<b class='flag-5'>宏</b><b class='flag-5'>定義</b>

    c語言定義可以嵌套嗎?

    c語言定義可以嵌套嗎? C語言
    的頭像 發(fā)表于 09-04 17:38 ?3533次閱讀

    c語言帶參數(shù)的定義

    c語言帶參數(shù)的定義? C語言
    的頭像 發(fā)表于 09-04 17:45 ?2756次閱讀

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會員交流學(xué)習(xí)
    • 獲取您個性化的科技前沿技術(shù)信息
    • 參加活動獲取豐厚的禮品