使用预处理器指令 #define 替换/重命名以下代码片段的正确语法是什么:
printf("\nrxBuffer: %s", rxBuffer);
fprintf(fpOut, "\nReceived Command: %s",rxBuffer);
致:
xil_printf("\nrxBuffer: %s", rxBuffer);
//fprintf(fpOut, "\nReceived Command: %s",rxBuffer);
不确定如何将宏名称与进行正确替换的值分开。为了避免子字符串不匹配的可能性,我打算通过包含初始函数括号和引号来区分 printf 和 fprintf,但从语法上讲,我不太清楚如何实现这一点?
示例:
#define XIL_VITIS
#ifdef XIL_VITIS
#define printf(" xil_printf("
#define fprintf //fprintf
#endif
最终我决定简单地复制文件并实际修改代码。但在最初闲逛之后,我仍然很好奇正确的语法可能/会是什么?
这里有一个适合您目的的解决方案:
#define XIL_VITIS
#ifdef XIL_VITIS
#define printf xil_printf
#define fprintf(...)
#endif