[問題] incompatible pointer warning
在64bits環境下編譯
static struct class *new_class;
static char *set_devnode(struct device *dev, mode_t *mode)
{
return NULL;
}
new_class = class_create(THIS_MODULE, DRV_NAME);
new_class->devnode = set_devnode;
==================================
會一直出現 warning: assignment from incompatible pointer type
[-Wincompatible-pointer-types]
上網查了 devnode
struct class {
...
char *(*devnode)(struct device *dev, mode_t *mode);
...
};
我的認知這不就是把 (char * )塞給 (char *)
我也嘗試過casting: new_class->devnode = (char *)set_devnode;
或者將 static char *set_devnode 宣告成 char *set_devnode
但是都有相同結果@@
可以請教這個問題是我忽略了什麼嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.250.205.229
※ 文章網址: https://www.ptt.cc/bbs/LinuxDev/M.1516954908.A.217.html
→
01/26 16:55,
7年前
, 1F
01/26 16:55, 1F
→
01/26 16:56,
7年前
, 2F
01/26 16:56, 2F
→
01/26 17:12,
7年前
, 3F
01/26 17:12, 3F
→
01/26 17:12,
7年前
, 4F
01/26 17:12, 4F
→
01/26 19:27,
7年前
, 5F
01/26 19:27, 5F
→
01/26 19:28,
7年前
, 6F
01/26 19:28, 6F
→
01/27 04:44,
7年前
, 7F
01/27 04:44, 7F
→
01/27 04:44,
7年前
, 8F
01/27 04:44, 8F
→
01/27 21:16,
7年前
, 9F
01/27 21:16, 9F
推
01/29 12:22,
7年前
, 10F
01/29 12:22, 10F
→
01/29 12:22,
7年前
, 11F
01/29 12:22, 11F
→
01/29 12:24,
7年前
, 12F
01/29 12:24, 12F
感謝樓上幫忙回答的大大
因為是kernel 3.3後
如yvb大大所言 定義變了
更改過已經OK了
※ 編輯: drunknmunky (60.250.205.229), 01/30/2018 19:42:17
LinuxDev 近期熱門文章
PTT數位生活區 即時熱門文章