【问题标题】:error for unused variable, gem5未使用变量的错误,gem5
【发布时间】:2017-03-09 12:45:37
【问题描述】:

我正在使用 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]

关于如何消除此错误或将其更改为警告的任何建议?

【问题讨论】:

  • 显然,gem5.fast 忽略了 DPRINTF 语句,导致未使用变量的错误。我把这个改成 scons build/ARM/gem5.opt 编译成功了。
  • 您应该将其发布为答案吗?

标签: python c scons unused-variables gem5


【解决方案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); 

【讨论】:

    猜你喜欢
    • 2011-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-08
    • 1970-01-01
    相关资源
    最近更新 更多