linux 下c语言编程的问题

csdnyang 2010-01-15 06:34:11
各位大虾,我想问一下

我在centos 5.0版的 /usr/include 下的所有文件中都找不到 struct msg的定义。怎么回事呢,其它很多地方都要用到msg这个结构体啊。。。。
redhat enterprise 中也找不到。另外是不是linux下编程系统默认安装的所有c,c++库函数的头文件都在/usr/include目录下呢?

...全文
182 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ashamwolf 2010-01-16
  • 打赏
  • 举报
回复
定义一个结构体,如下:
struct msgbuf{
long mtype;//消息类型
char mtext[QUEUEBUFSIZE];//消息内容
}
其中成员名称可以变。

然后用以下函数:
msgget
msgrcv
msgsnd

函数用法搜索一下。
csdnyang 2010-01-16
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 jinwei1984 的回复:]
cd /usr/include;find . -name "*.h" | xargs grep "struct msg"

如果没有,请安装编译相关的头文件,默认好像是没装的 ubuntu貌似是 build-essential 之类的


[/Quote]

通过你的命令查询到
./bits/msq.h:The type `struct msg' is opaque。

看来旧的消息队列已经被淘汰了,有没有高手给我讲一下,新的消息队列机制是怎么使用的啊?
howema 2010-01-16
  • 打赏
  • 举报
回复
是需要安装头文件的,或者你重新编译下内核...
jinwei1984 2010-01-15
  • 打赏
  • 举报
回复
cd /usr/include;find . -name "*.h" | xargs grep "struct msg"

如果没有,请安装编译相关的头文件,默认好像是没装的 ubuntu貌似是 build-essential 之类的

DemonWhisper 2010-01-15
  • 打赏
  • 举报
回复
什么 API 用到的?

70,035

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧