我遇到了这段代码,但不确定执行什么#reg
操作:
#define FPGA_WRITE(reg,val) do { printf("%-20s %08X <<- %08lX\n", #reg, (reg), (unsigned long)(val));} while (0)
int main()
{
FPGA_WRITE(10,15);
return 0;
}
打印以下内容:
10 0000000A <<- 0000000F
如果取出,则#
在执行代码时会出现段错误。奇怪。的用途是#
什么?
它是预处理器宏中使用的Stringizing Operator(#)#define
,
它将前面的参数转换为带引号的字符串
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句