1 写在前面
宏定义在 C语言中,是一种很常见的语法;经常阅读开源代码,你会发现,使用好C语言的宏定义,真的可以写出更加整洁,可读性非常高的高质量代码。
本文将描述一个需要使用宏定义技巧来解决的问题场景,希望对大家理解和使用C语言的宏定义有所帮助和提高。
2 问题需求
最近恰好在项目开发的过程中,遇到了一个有关宏定义的问题。项目运用的背景如下:
项目中有个头文件中定义了一个宏定义,比如是 #define CFG_LOGGER_NAME uart
然后,在某个C文件中需要将这个宏定义转换成对应的字符串类型,即为 “uart” ;很明显,如果按以下的几种方式定义,肯定得不到期望的结果:
方式1: #define CFG_LOGGER_NAME_STR "CFG_LOGGER_NAME"
方式2: