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

描述

如果让你用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 选项,就能控制调试信息是否输出,可以避免项目发

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

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分