今天再編譯Char Driver時遇到一個錯誤
error: void value not ignored as it ought to be
意思是我把一個沒有回傳值的函數當成有回傳值來使用
看了一下程式碼,發現是在這行
if (unregister_chrdev(DEV_MAJOR, DEV_NAME))
翻了一下書,Driver老師講義和聖經黑馬書上是定義如下。
int unregister_chrdev(unsigned int major, const char *name)
但是我去看了一下在 include/linux/fs.h下的定義,卻是以下
extern void unregister_chredv(unsigned int, const char*)
所以在新版本核心提供的函式~他是沒有回傳值的!!
沒有留言:
張貼留言