免费注册 查看新帖 |

Chinaunix

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

传送结构体的一个问题。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-11-06 21:20 |只看该作者 |倒序浏览
本帖最后由 程序c 于 2010-11-06 23:19 编辑

问题: 传送结构体的小问题,请高手看看。

程序如下:

这是一个内核模块,使用netlink接收结构体的程序

struct nl_cmd
{
    char cmd;
    unsigned int ipadr;
};


然后在netlink处理函数这样写的

static void nl_data_ready(struct sk_buff *skb)
{
     struct nlmsghdr *nlh=NULL;
     struct nl_cmd *command=NULL;
     if (skb==NULL)  return;
     nlh=(struct nlmsghdr *)skb->data;
     command=(struct nl_cmd *)(NLMSG_DATA(nlh));
     printk(KERN_INFO"nl: %c%x",command->cmd,command->ipadr); /* 错误点 */
}

make编译总是错误,提示是error: dereferencing pointer to incomplete type



这个程序我是模仿一个udp例子写的
http://blog.csdn.net/lxb316/archive/2010/03/04/5345604.aspx
我找了数个小时,就是不知道我写的程序的问题。编译都通不过
请各位高手给小弟看一下

论坛徽章:
0
2 [报告]
发表于 2010-11-06 22:47 |只看该作者
问题: 传送结构体的小问题,请高手看看。

程序如下:

这是一个内核模块,使用netlink接收结构体的程 ...
程序c 发表于 2010-11-06 21:20



结构体定义的时候少个分号?

论坛徽章:
0
3 [报告]
发表于 2010-11-06 23:19 |只看该作者
结构体定义的时候少个分号?
ktty445655619 发表于 2010-11-06 22:47


不好意思,这是我从另一台电脑打过来了,忘记打了,本身的代码是有分号的,不好意思,耽误您时间了,麻烦在给我看看。

论坛徽章:
0
4 [报告]
发表于 2010-11-07 07:46 |只看该作者
你确认你的c程序是知道你那个结构体的定义的?比如确实包含进了头文件的??

论坛徽章:
0
5 [报告]
发表于 2010-11-07 09:40 |只看该作者
你确认你的c程序是知道你那个结构体的定义的?比如确实包含进了头文件的??
snail_314 发表于 2010-11-07 07:46



    也就是说我的程序本身看不出问题是吧,那谢谢您,我再仔细地查查头文件。

论坛徽章:
0
6 [报告]
发表于 2010-11-07 09:48 |只看该作者
查到了,确实是文件包含乱套了。先转指针后定义的结构体。

我这点小程序就出现了这样的问题,请问一下如何避免这样的错误出现呢?

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
7 [报告]
发表于 2010-11-07 15:00 |只看该作者
经验本身就是从实践中得来了,尤其是你遇到问题并解决了,这样就知道以后如何避免了。

另外,你这文件包含乱套的问题,那就是 C 的语法问题嘛。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP