【问题标题】:Suppress warning for unused parameters in function [duplicate]抑制函数中未使用参数的警告[重复]
【发布时间】:2014-04-24 08:09:03
【问题描述】:

我正在用 C Linux 编程。

我的代码中有一些函数作为参数 X 参数接收,但我没有使用其中的所有参数。

我收到未使用变量的警告。

我希望编译器捕捉到所有警告,除了这个。

make 文件中的什么标志可以做到这一点?

谢谢 马特

【问题讨论】:

  • 你用谷歌搜索过这个吗?此外,您希望对项目中所有未使用的参数或仅对某些特殊功能使用此功能?
  • 如果您指定了您的编译器(GCC?)、您当前使用的编译器标志以及您收到的警告,将会有所帮助。如果您使用 GCC,通常会显示禁用该特定警告的标志,例如:warning: ‘a’ is used uninitialized in this function [-Wuninitialized]
  • @TomFenech:实际上是选项en禁用了较新的 gcc 显示的警告。要禁用特定警告,请在其前面加上 no-,在这种情况下会导致选项 -Wno-uninitialized

标签: c makefile warnings


【解决方案1】:

假设这个

int f(int x, int y)
{
  return y;
}

引发 OP 提到的警告。

对于 gcc 只需这样做

int f(int x __attribute__ ((unused)), int y)
{
  return y;
}

让减弱消失。


一个更通用的技巧是做:

int f(int x, int y)
{
  x = x;
  return y;
}

对于 gcc,指定选项 -Wno-unused-parameter 应该禁用此警告。

【讨论】:

  • 我无法更改代码。我需要一个能让编译器忽略它的解决方案。
  • @user690936:请查看我的更新答案。
猜你喜欢
  • 1970-01-01
  • 2014-12-23
  • 1970-01-01
  • 2015-10-16
  • 1970-01-01
  • 2022-08-03
  • 1970-01-01
  • 2021-03-13
  • 2019-12-21
相关资源
最近更新 更多