0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

C语言中最常见的宏定义写法

学益得智能硬件 来源: 学益得智能硬件 2024-10-28 11:12 次阅读

如果让你用C语言写个宏定义,我相信大部分同学顺手就能写出define。

这也是C语言中最常见的宏定义写法,这样的代码在预处理的时候直接被替换。

在C语言中,还有两种宏定义容易被忽略。

一种是预定义宏,顾名思义,就是别人预先定义好的,拿过来用就行。

常见的比如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

这个用法的使用场景很多,比如跨平台,比如加一些调试选项,如果定义了 DEBUG,就输出下面的调试信息,编译的时候,通过 -D 选项,就能控制调试信息是否输出,可以避免项目发

布的时候,再去一行一行删除调试信息。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • C语言
    +关注

    关注

    180

    文章

    7616

    浏览量

    138004
  • 代码
    +关注

    关注

    30

    文章

    4841

    浏览量

    69196
  • 宏定义
    +关注

    关注

    0

    文章

    51

    浏览量

    9060
  • define
    +关注

    关注

    0

    文章

    16

    浏览量

    3784

原文标题:不用define,如何定义宏

文章出处:【微信号:学益得智能硬件,微信公众号:学益得智能硬件】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    C语言定义使用技巧

    写好C语言,漂亮的定义很重要,使用定义可以防止出错,提高可移植性,可读性,方便性等等。下面列
    发表于 07-29 09:35 1141次阅读

    【RT-Thread学习笔记】一种C语言定义写法

    【RT-Thread学习笔记】一种C语言定义写法
    的头像 发表于 07-30 13:41 2413次阅读
    【RT-Thread学习笔记】一种<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语言,漂亮的定义很重要,使用定义可以防止出错,提高可移植性,可读性,方便性等等。下面列
    发表于 10-18 10:05 1771次阅读

    C语言中定义的用法和使用场景

    C语言中,预定义是由编译器提供的一组特殊标识符,可以在程序中直接使用,无需进行额外的定义
    发表于 08-16 16:12 558次阅读

    C语言中定义的应用

    C语言中定义是一种预处理指令,用于在代码中定义和使用常量、函数或代码片段的替代。
    发表于 08-17 15:33 923次阅读

    C语言中定义的使用技巧

    #define命令是C语言中的一个定义命令,它用来将一个标识符定义为一个字符串,该标识符被称为
    发表于 09-05 10:12 1317次阅读
    <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。。。多谢~
    发表于 10-05 15:04

    C语言中

    定义是我们C语言学习中非常重要的内容。一些基础的用法大家都比较清楚了,我们简单总结一下。1.定义
    发表于 12-13 15:32

    c语言中常用的定义有哪些?

    c语言中常用的定义有哪些?
    发表于 04-28 06:01

    C语言中是什么

    第五章 性能优化5.1 使用定义  在C语言中是产生内嵌代码的唯一方法。对于嵌入式系统而言,为了能达到性能要求,
    发表于 12-15 08:20

    汇总和深挖C语言中定义所有的知识点

    知识点在刚开始接触时,我感觉比较难懂、不好理解,那么以后不论我花多长时间去研究这个知识点,心里会一直认为该知识点比较难,也就是说第一印象特别的重要。 就比如 C 语言中定义,好像跟
    的头像 发表于 05-03 18:31 2780次阅读
    汇总和深挖<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__
    发表于 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语言中的一个定义命令,它用来将一个标识符定义为一个字符串,该标识符被称为
    的头像 发表于 09-28 16:05 3550次阅读
    <b class='flag-5'>C</b><b class='flag-5'>语言中</b>的<b class='flag-5'>宏</b><b class='flag-5'>定义</b>

    c语言定义可以嵌套吗?

    c语言定义可以嵌套吗? C语言
    的头像 发表于 09-04 17:38 3297次阅读

    c语言带参数的定义

    c语言带参数的定义  C语言
    的头像 发表于 09-04 17:45 2531次阅读