使用-Wunused参数标志,你可以强制__unused未使用的参数,作为一个编译器优化。 下面的代码将导致两个警告:
#include <stdio.h>
int main(int argc, char **argv) {
printf("hello world\n");
return 0;
}
这些警告是通过添加__unused未使用的参数固定。
#include <stdio.h>
int main(int __unused argc, char __unused **argv) {
printf("hello world\n");
return 0;
}
当您使用参数标__unused,铛4.1不会警告或错误。
#include <stdio.h>
int main(int __unused argc, char __unused **argv) {
printf("hello world. there are %d args\n", argc);
return 0;
}
相同的行为是使用表现出__attribute__((unused))
int main(int __attribute__((unused)) argc, char __attribute__((unused)) **argv) {
有没有一种方法,以警告或错误的__unused? 会发生什么,你应该小心留下__unused上使用的参数? 在上面的例子中argc
似乎有正确的价值,尽管它可能是编译器不采取暗示的优势,并没有更多的了解,我不会依赖于这种行为。