1

我正在使用 scons 来编译 gem5。

scons build/ARM/gem5.fast -j4

我已经定义了一个变量,对其进行了初始化并在 dprintf 语句中使用了它。

Addr tot_blk_count = page_number / page_per_block; 
DPRINTF(out, "Total block count %lu " , tot_blk_count); 

但是,scons 将报告未使用变量的错误(而不是警告)。

 error: unused variable 'tot_blk_count' [-Werror=unused-variable]

有关如何摆脱此错误或将其更改为警告的任何建议?

4

1 回答 1

1

为 gem5.fast 编译时 DPRINTF 将被忽略,并且 tot_blk_count 将是一个未使用的变量。

解决方案:

一种解决方案是为 gem5.opt 编译,因为它不会忽略 DPRINTF 并且不会报告错误。

scons build/ARM/gem5.opt 

第二种解决方案是使用 DPRINTF 中的语句来避免未使用的变量,以防您为 gem5.fast 编译:

DPRINTF(out, "Total block count %lu " , page_number / page_per_block);

如果您想保留未使用变量的声明,只需使用 M5_VAR_USED 标记它,这将通知编译器该变量可能未使用并且不会触发警告:

Addr M5_VAR_USED tot_blk_count = page_number / page_per_block; 
DPRINTF(out, "Total block count %lu " , tot_blk_count); 
于 2016-10-31T01:27:21.947 回答