x86 仿真器可在独立线程上并行执行多个内核。这意味着在标准输出中查看 printf()
调试消息时,通常这些消息可能呈交织和不确定状态。X86SIM_KERNEL_NAME
宏对于确定哪个内核正在打印哪一行是很有用的。以下示例显示了如何将其与 printf()
相结合。
注释: 要使用 X86SIM_KERNEL_NAME,您必须包含 adf/x86sim/x86simDebug.h,如以下代码所示。
#include <adf/x86sim/x86simDebug.h>
void simple(input_window_float * in, output_window_float * out) {
for (unsigned i=0; i<NUM_SAMPLES;i++) {
float val = window_readincr(in);
window_writeincr(out,val+0.15);
}
static int count = 0;
printf("%s: %s %d\n",__FILE__,X86SIM_KERNEL_NAME,++count);
}