如何在C语言中禁止“未使用的参数”警告?

例如:


Bool NullFunc(const struct timespec *when, const char *who)

{

   return TRUE;

}

在C ++中,我可以对/*...*/参数进行注释。但是,当然不是在C中,它给了我错误error: parameter name omitted。


森林海
浏览 1798回答 3
3回答

慕娘9325324

我通常会这样写一个宏:#define UNUSED(x) (void)(x)您可以将此宏用于所有未使用的参数。(请注意,这适用于任何编译器。)例如:void f(int x) {    UNUSED(x);    ...}

12345678_0001

在gcc中,您可以使用unused属性标记参数。附加到变量的此属性意味着该变量可能未被使用。GCC不会对此变量发出警告。实际上,这是通过__attribute__ ((unused))在参数之前放置来实现的。例如:void foo(workerid_t workerId) { }变成void foo(__attribute__((unused)) workerid_t workerId) { }
打开App,查看更多内容
随时随地看视频慕课网APP