Prayer

在一般中寻求卓越
posts - 1256, comments - 190, trackbacks - 0, articles - 0
  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

msgsnd Invalid argument

Posted on 2008-10-28 19:22 Prayer 阅读(1578) 评论(1)  编辑 收藏 引用 所属分类: C/C++LINUX/UNIX/AIX
struct msg{
  long type;
  char mtext[1024];
};

struct msg_s
{
                long type;
                int msg_len;
                char msg[512];
}msg_t;


在msgsnd的说明文档中你的msg_len是要大于0的.你试试给msg_t的msg_len域给个大于0的值看看

msgsnd里第二个参数不对。

在msgsnd的说明文档中你的msg_len是要大于0的.你试试给msg_t的msg_len域给个大于0的值看看

问题是你的msg_t是什么?不赋值你发消息还有什么意义呢?如果要编译通过,按楼上说的,msgsnd前加一句msg_t.msg_len = 1就可以了。但话说回来,最好你还是按楼上的楼上的...楼上的说的,把结构体改一下,加个long type。赋值时type一定要大于0。按你的结构,你的msg_len在msgsnd中是当作类型解析的,如果编译器把int型的msg_len初始化为0,那运行时肯定会提示非法参数。

Feedback

# re: msgsnd Invalid argument  回复  更多评论   

2009-06-09 02:14 by shyachlo
i'd want to know what is written here about that argument problem, but i have some problems with japanese since childhood. pity that google also doesn't fully understand this.

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理