隱式宣告函式kfree

2021-06-21 11:06:58 字數 584 閱讀 9346

驅動程式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

C語言函式隱式宣告(1)

這段時間,在看中心後台服務軟體原始碼時發現,有很多自定義函式未經 宣告卻能在主程式中被呼叫,主程式中沒有包括上述函式的標頭檔案,我在各個目錄中也找不到上述函式的標頭檔案。這就奇怪了,連使用標準庫函式printf 都要包括標準輸入輸出標頭檔案,何況是自定義函式?這個問題困擾了我很久。前天問中創公司奚鍾...

C語言函式隱式宣告(2)

1 什麼是c語言的隱式函式宣告 在c語言中,函式在呼叫前不一定非要宣告。如果沒有宣告,那麼編譯器會自動按照一種隱式宣告的規則,為呼叫函式的c 產生彙編 下面是乙個例子 int main int argc,char argv 單純的編譯上述源 並沒有任何報錯,只是在鏈結階段因為找不到名為any nam...

C語言中的隱式函式宣告

1 什麼是c語言的隱式函式宣告 在c語言中,函式在呼叫前不一定非要宣告。如果沒有宣告,那麼編譯器會自動按照一種隱式宣告的規則,為呼叫函式的c 產生彙編 下面是乙個例子 1 2 3 4 5 int main int argc,char argv 單純的編譯上述源 並沒有任何報錯,只是在鏈結階段因為找不...