如果让你用C语言写个宏定义,我相信大部分同学顺手就能写出define。
这也是C语言中最常见的宏定义写法,这样的代码在预处理的时候直接被替换。
在C语言中,还有两种宏定义容易被忽略。
一种是预定义宏,顾名思义,就是别人预先定义好的,拿过来用就行。
常见的比如file line date time 分别表示文件名、行号、日期和时间,主要就是让用户用起来更方便。
还有一种定义宏的方式,是在编译的时候,以 gcc 为例。
#includeint main() { printf("%d ", A); return 0; }
我们在代码中输出 A,如果代码直接拿过来编译,肯定会报错,A 既不是变量也不是常量,属于未定义。
但是如果在编译的时候,加上 -D 选项,后面跟上 A,可以给他赋值,也可以不赋值,那编译就能顺利通过,A默认的值是 1。
gcc test.c -o test -D A
这个用法的使用场景很多,比如跨平台,比如加一些调试选项,如果定义了 DEBUG,就输出下面的调试信息,编译的时候,通过 -D 选项,就能控制调试信息是否输出,可以避免项目发
布的时候,再去一行一行删除调试信息。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
C语言
+关注
关注
183文章
7646浏览量
146167 -
代码
+关注
关注
30文章
4976浏览量
74382 -
宏定义
+关注
关注
0文章
51浏览量
9453 -
define
+关注
关注
0文章
16浏览量
4153
原文标题:不用define,如何定义宏
文章出处:【微信号:学益得智能硬件,微信公众号:学益得智能硬件】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
热点推荐
汇总和深挖C语言中宏定义所有的知识点
知识点在刚开始接触时,我感觉比较难懂、不好理解,那么以后不论我花多长时间去研究这个知识点,心里会一直认为该知识点比较难,也就是说第一印象特别的重要。 就比如 C 语言中的宏定义,好像跟
C语言中的__attribute__宏定义之section属性
C语言中的 __attribute__宏之section属性文章目录C语言中的 __attribute__
发表于 11-16 18:21
•47次下载
C语言中最常见的宏定义写法
评论