编译Linux内核驱动模块时出现warning错误:define but not used

今天在编译内核驱动模块的时候,在自定义的设备驱动文件中,出现一个warning,编译器视为错误并退出编译。

尝试方法一:

在MakeFile中添加:DEF_CFLAGS +=-w

该句的作用是在编译的时候忽略warning,但还是会报错,错误如图所示


尝试方法二:

在stackoverflow上看到类似的问题,原文链接如下:http://stackoverflow.com/questions/386220/how-can-i-hide-defined-but-not-used-warnings-in-gcc

意思是在未使用的函数和参数前添加 _attribute_ ((unused))属性,具体用法可参照官方文档:https://gcc.gnu.org/onlinedocs/gcc-3.4.1/gcc/Attribute-Syntax.html#Attribute%20Syntax

在文件相应位置添加_attribute_ ((unused)),问题解决了!代码示例如图所示:


关于此问题还是有些一知半解,发篇技术博希望看到的技术霸们可以一起探讨下,欢迎留言!

你可能感兴趣的:(linux,kernel,C语言,内核编译)