【问题标题】:Suppress unused variable warning抑制未使用的变量警告
【发布时间】:2014-07-02 10:00:19
【问题描述】:

Fortran 中抑制警告消息的最佳做法是:

remark #7712: This variable has not been used.

只针对一个特定变量(想象一下我们不想破坏的 API 函数)?

注意:我不想suppress all warnings 获取文件

注意 2:gcc 的类似内容:__attribute__((__unused__))other common C practice with MACRO

注意3:我对ifort特别感兴趣,但是多编译器会更好。

【问题讨论】:

  • 为什么不直接删除呢?或者做一些简单的操作来使用它(这就是c宏所做的一切)
  • @george 通常您不会从通过公共 API 公开的函数中删除变量。它破坏了向后兼容性。问题是最佳实践是什么,那么使用哪种操作/如何抑制它?
  • 我不知道最佳做法,但我目前的做法是并且长期以来一直是忽略警告。这样做的唯一理由是,如果您修改(例如)构建过程以掩盖警告,您将冒着将来您不再应该掩盖警告的风险。
  • 不幸的是,很多警告让开发人员都忽略了它们......

标签: fortran warnings intel-fortran unused-variables


【解决方案1】:

由于您使用的是 Intel Fortran(我可以从特定消息中看出),因此您有几个选择。一种是添加虚拟引用,例如:

if (.false.) unused=1

另一个是禁用未使用的变量警告:

/warn:all,nounused

或者对于 Linux:

-warn all,nounused

Microsoft Fortran 有一个有趣的库函数 UNUSEDQQ 用于此目的 - 您添加了对 UNUSEDQQ 的调用以传递变量,这禁用了检查。英特尔 Fortran 不支持。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-09-27
    • 2012-12-06
    • 2013-07-11
    • 1970-01-01
    • 1970-01-01
    • 2015-04-20
    相关资源
    最近更新 更多