Linux下编写C语言(一) hollow c和消息队列
前言:客户有个需求,需要使用消息队列进行程序间通信,并且发送端代码不方便修改,搜索,学习了一下还是不知道JAVA怎么实现,就决定自己写C程序接受消息队列,然后socket发给java。
注:如果有方法可以使用java(最好是spring)读取到Linux系统自带的消息队列的方法请不吝赐教。
一、System V规则下的消息队列
大家知道linux中支持Posix消息队列和System V消息队列,这里主要给大家介绍System V消息队列。下文所说的消息队列均是System V消息队列。
Linux下使用ipcs -q
可以查看到所有的消息队列
其中键 是指每个消息队列唯一的key值,这里是16进制的值0x00000401就是十进制的 1025。
还有一个命令行ipcs -t
比较好用,可以看到消息队列(进程间通信)发送/接收/更改的时间。
二、Hollow C
编写c语音在Linux下第一个程序,
新建touch hollow.c
文件;
vi hollow.c
修改文件内容;
#include"stdio.h"
void main()
{
printf("Hello World !\n");
}
编译c文件gcc -o hollow hollow.c
生成hollow.out
执行hollow.out ./hollow
输出Hello World !