隱式聲明函數kfree

驅動程序make時出現以下錯誤:
/home/zqy/文檔/char/demo.c: 在函數‘DEMO_cleanup_module’中:
/home/zqy/文檔/char/demo.c:161:3: 錯誤: 隱式聲明函數‘kfree’[-Werror=implicit-function-declaration]
/home/zqy/文檔/char/demo.c: 在函數‘DEMO_init_module’中:
/home/zqy/文檔/char/demo.c:180:2: 錯誤: 隱式聲明函數‘kmalloc’[-Werror=implicit-function-declaration]
/home/zqy/文檔/char/demo.c:180:15: 警告: 賦值時將整數賦給指針,未作類型轉換 [默認啓用]
cc1: some warnings being treated as errors


隱式聲明函數錯誤的意思是函數在未聲明之前就被調用了,需要先聲明這兩個函數,版本變化導致這個錯誤的出現。
解決方法:
找到kmalloc與kfree的聲明頭文件並include進來就可以了
#include<linux/slab.h>
發佈了40 篇原創文章 · 獲贊 9 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章