在DSP调试打印信息往往需要打印的信息数量及长度不相等,而每次打印我们又想知道错误所在文件,以及行号等信息等,若直接用printf函数,每次都要输入这些参数会感觉繁琐,所以我们会自定义一个变参函数来代替printf 函数。
自定义变参函数具体实现如下:
// 调试打印输出
#define DebugPrintf(format, ...) \
do { \
printf("[%16lld | %16s @ %16s, %4d] : " format, _itoll(TSCH, TSCL), \
__FILE__, __func__, __LINE__, ##__VA_ARGS__ ); \
} while (0)
CCS IDE环境支持设置:
CSS5.x,compiler不支持可变参数宏。需要手动设置编译器相关选项,设置步骤(Language Option --> Language Mode —> non strict ANSI),如下图: