免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1946 | 回复: 1

编译时提示:不完全类型指针,这是什么错哦? [复制链接]

论坛徽章:
0
发表于 2008-09-12 14:05 |显示全部楼层
以下是小弟写的一个内核模块,编译时出错,错误行为:
printk(KERN_ALERT"pa->_count: %lx", page_to_pfn(pa));//atomic_read(pa->_count)); //(pa - mem_map)/sizeof(struct page));

提示说:
/home/Royale/module_pro/mem_map_test.c:13: 错误:在指向不完全类型的指针上执行算术运算
/home/Royale/module_pro/mem_map_test.c:13: 错误:在指向不完全类型的指针上执行算术运算

代码为:
#include<linux/kernel.h>
#include<linux/module.h>
#include<asm/uaccess.h>
#include<linux/init.h>
#include<asm-generic/memory_model.h>

extern struct page * mem_map;
static struct page * pa;

int __init init_module(void)
{      
        pa = alloc_page(__GFP_HIGH);
        printk(KERN_ALERT"pa->_count: %lx", page_to_pfn(pa));//atomic_read(pa->_count)); //(pa - mem_map)/sizeof(struct page));

        return 0;
}

void __exit cleanup_module(void)
{      
        __free_page(pa);
}

这是怎么回事啊?我把page_to_pfn(pa)换成atomic_read(pa->_count)就会提示:
/home/Royale/module_pro/mem_map_test.c:13: 错误:提领指向不完全类型的指针

这是什么错误,怎么解决啊?

论坛徽章:
0
发表于 2008-09-12 19:31 |显示全部楼层
原帖由 It'sGifted 于 2008-9-12 14:05 发表
以下是小弟写的一个内核模块,编译时出错,错误行为:
printk(KERN_ALERT"pa->_count: %lx", page_to_pfn(pa));//atomic_read(pa->_count)); //(pa - mem_map)/sizeof(struct page));

提示说:
/home/Roya ...



算了,我来自问自答

少了个 #include<linux/mm_types.h>
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP