linux两个程序通过共享内存通信的一个简单例子
来源:互联网 发布:算法公开课 编辑:程序博客网 时间:2024/06/01 10:03
写共享内存程序:
读共享内存的程序:
/*
* File: main.cpp
* Author: centos
*
说明:从共享内存中读取数据,显示到屏幕上。
* Created on 2010年3月2日, 上午10:47
*/
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <errno.h>
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/shm.h>
#define BUF_SIZE 1024
#define MYKEY 114
/*
*
*/
int main(int argc, char** argv)
{
int shmid;
char *shmptr;
struct shmid_ds shmbuf;
char last_str[1024];
if ( ( shmid = shmget(MYKEY, BUF_SIZE, IPC_CREAT) ) == -1 )
{
printf("clinet shmget error!/n");
exit(1);
}
shmptr = (char *) shmat(shmid, 0, 0);
if ( -1 == (int) shmptr )
{
printf("clinet shmat error!/n");
fprintf(stderr, "Error: %d - %s/n", errno, strerror(errno));
exit(1);
}
while(1)
{
// if((strlen(last_str) != strlen(shmptr)) ||
if( ( 0 != strcmp(last_str,shmptr)))
{
printf("%s %s/n", last_str,shmptr);
strcpy(last_str,shmptr);
}
if (! strcmp(shmptr,"quit")) break;
}
shmdt(shmptr);
if(shmctl(shmid,IPC_RMID,&shmbuf) < 0) perror("Close 共享内存出错shmctl error");
return (EXIT_SUCCESS);
}
- linux两个程序通过共享内存通信的一个简单例子
- linux两个程序通过共享内存通信的一个简单例子
- Linux下两个程序进行socket通信的简单例子
- Linux下两个程序进行socket通信的简单例子
- Linux进程间通信 共享内存+信号量+简单例子
- Linux进程间通信 共享内存+信号量+简单例子
- linux 共享内存 简单例子
- linux下java程序与C语言程序通过SOCKET通信的简单例子
- linux下java程序与C语言程序通过SOCKET通信的简单例子
- linux下java程序与C语言程序通过SOCKET通信的简单例子
- Erlang 程序引发共享内存 bug 的一个例子
- Linux下内存共享的一个实例(设置共享内存,一个程序写,一个程序读)
- 通过共享内存,实现两个进程A,B之间的通信
- 通过共享内存,利用循环队列实现两个进程A,B之间的通信
- mmap的使用之两个进程通过映射普通文件实现共享内存通信
- 一个简单的Linux下组播通信的例子
- linux下两个程序的简单单向通信
- 简单的,两个不同进程间的共享内存通信(大小写转换)
- WinForm 中获取鼠标当前位置
- .NET访问数据库经典架构(运用反射给实体赋值)
- JQuery基础与JQuery UI
- MPlayer -slave 翻译(ZZ)
- [转]USB OTG学习笔记
- linux两个程序通过共享内存通信的一个简单例子
- AJAX 表格字段数据排序,点击表头每列排序
- 来自MIT人工智能实验室:如何做研究?
- 猫叫问题二
- WCF初体验—“Hello Matrix”
- 分页的存储过程
- c版的回调函数与c++版的虚函数
- 知其所以然技术论坛资源下载
- 《C#与.NET3.0高级程序设计》摘要-----第三章 C#语言基础