操作构造字符串化宏#define STRINGIZE(x) #x

Posted 子非魚!

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了操作构造字符串化宏#define STRINGIZE(x) #x相关的知识,希望对你有一定的参考价值。

c++test工程单元测试中报错 “STRINGIZE” 未定义错误 

解决方案:在头文件定义宏STRINGIZE

#符号把一个符号直接转换为字符串,例如:
#define STRINGIZE(x) #x
const char *str = STRINGIZE( test_string ); str的内容就是"test_string",也就是说#会把其后的符号
直接加上双引号。
##符号会连接两个符号,从而产生新的符号(词法层次),例如:
#define SIGN( x ) INT_##x

int SIGN( 1 ); 宏被展开后将成为:int INT_1;

以上是关于操作构造字符串化宏#define STRINGIZE(x) #x的主要内容,如果未能解决你的问题,请参考以下文章

Verilog 参数化宏用法

C语言宏定义字符串参数要把参数转化成字符串再加引号才是参数么? #define PRINT(FOR

关于C语言参数化宏的问题?

二阶构造 操作符[]重载

前端技术 - SeaJS学习

Adam-Define.XML的自动化生成