免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 922 | 回复: 2
打印 上一主题 下一主题

[请教]赋值运算中的左值无效 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-11-10 14:13 |只看该作者 |倒序浏览
int *sys_call_table;
..........................
static int __init init_routine(void) {
        printk("Loading module...\n");
        get_sys_call_table();
        printk("[!] old write() address: 0x%p\n", (void *)sys_call_table[__NR_write]);
        printk("[!] my_string=\"%s\"\n",my_string);
        printk("[!] new write() address: 0x%p\n", my_write);
        o_write=(void *)sys_call_table[__NR_write];
        (void *)sys_call_table[__NR_write]=my_write;
        return 0;
}
编译时,报告
      (void *)sys_call_table[__NR_write]=my_write; 这个语句: 错误:赋值运算中的左值无效

操作系统是FC5

论坛徽章:
0
2 [报告]
发表于 2006-11-10 14:48 |只看该作者
(void *)sys_call_table
这行表示一个函数,用指针调用的函数,当然是不能被赋值的了。

唉,今天脑袋进水了。

论坛徽章:
0
3 [报告]
发表于 2006-11-10 15:13 |只看该作者
你的mywrite是什么啊?是指针吗?或是地址?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP