內核3.13 沒有對struct proc_dir_entry定義?編譯時老是提示 error: dereferencing pointer to incomplete type ,求大神指點,相關代碼是:
#include <linux/init.h>
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/proc_fs.h>
#include <linux/sched.h>
#include <asm/uaccess.h>
#include <linux/netdevice.h>
static struct proc_dir_entry *mod_entry;
static int __init tarp_init(void)
{
mod_entry = create_proc_entry(MODULE_PATH, 0644, NULL);
mod_entry->owner = THIS_MODULE;
mod_entry->read_proc = proc_read;
mod_entry->write_proc = proc_write;
printk(KERN_INFO "%s module loaded\n", MODULE_NAME);
return 0;
}
網上有人說這樣的錯誤提示,是因為頭檔案包含的不全,可是我已經把能包含的頭檔案都放上去了,然并卵。。。跪求大神指點啊,這個問題已經卡了好幾天了。。。傾家蕩產重謝!!!!
uj5u.com熱心網友回復:
proc_dir_entry的定義挪到了fs/proc/internal.h意圖就是不像再讓開發者直接操作pde物件,而是經過API來完成。
類比stdio.h里的FILE
uj5u.com熱心網友回復:
內核版本不一樣,我這也是這個問題,舊內核這個結構體里有read.write指標,新內核,這個結構體的里面沒有轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/101921.html
標籤:內核源代碼研究區
上一篇:一個小回圈下載所需的sra檔案
下一篇:安裝ROS時遇到依賴項錯誤
