- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
操作系统实验报告九操作系统实验报告九
《进程间通信机制》实验报告
实验序号: 九 实验项目名称:进程间通信机制—共享内存
学 号 0907012112 姓 名 刘秀香 专业、班 计算机1班 实验地点 实验楼1-307 指导教师 李远敏 实验时间 2011-11-9 一、实验目的及要求
程序需要实现客户端(Client端)和服务器端(Server端)。
客户端(Client端)需要两个Button控件,ID、Caption分别为:IDC BUTTON SendToMem、“发送到内存”,IDC BUTTON OK、“确定”和一个ID为IDC EDIT1的Edit Box控件。
服务器端(Server端)需要两个Button控件,ID、Caption分别为:IDC BUTTON OpenMemMap、“打开内存映像”,IDC BUTTON OK、“确定”,一个ID为IDC LIST1的List Box控件。
二、实验设备(环境)
一台装有WindowsXP或Windows2003的机器(这里默认是WindowsXP),C++环境
三、实验内容与步骤
实验内容:
创建一个基于对话框的名为Client的工程。
把控件拖到对话框上。
为IDC EDIT1添加类型为CString的成员变量m msg。
双击“发送到内存”按钮,添加如下代码:
void CClientDlg::OnBUTTONSendToMem()
{
HANDLE hMapping;
LPTSTR lpData;
//创建一块内存映像,并将句柄返回给hMapping
hMapping=CreateFileMapping((HANDLE)0xffffffff, //物理文件句柄
NULL, //安全设置
PAGE_READWRITE, //保护设置
0, //高位文件太小
0x200, //低位文件太小
_T(MYSHARE) //共享内存名称
);//内存映像创建失败
if(hMapping==NULL)
{
AfxMessageBox(_T(CreateFileMapping()failed.));
return;
}
//创建内存映像的视图,以便于对该内存的进一步操作。
lpData=(LPTSTR)MapViewOfFile(hMapping,FILE_MAP_ALL_ACCESS,0,0,0);
if(lpData==NULL)
{
AfxMessageBox(_T(MapViewOfFile()failed.));
return;
}
UpdateData(TRUE);
if(m_msg!=_T())
{
wsprintf(lpData,m_msg);
}
else
AfxMessageBox(_T(Not empty));
m_msg=_T();
}首先调用CreateFile函数来打开管道,如果打开失败,则以对话框的形式提醒用户。如果打开成功,则将文本框中的消息用WriteFile函数写到管道中。
5、双击“确定”按钮,添加如下代码:
Void CClientDlg::OnButtonOk()
{
CDialog::OnOK();
}
6.Build Client.exe,点击图标.Output输出如下所示,则Client工程建立完毕.
Client.exe – 0 error(s),0 warning(s)
7.新建一个基于对话框的名为Server的工程,方法同Client工程。
8.把控件拖到对话框上。
9.为IDC LIST1添加类型为CListBox的成员变量m list。
10.双击“打开内存映像”按钮,添加如下代码:
void CServerDlg::OnBUTTONOpenMemMap()
{
HANDLE hMapping;
CString m_msgl=_T();
LPSTR lpData;
hMapping=CreateFileMapping((HANDLE)0xffffffff,
NULL,
PAGE_READWRITE,
0,
0x200,
您可能关注的文档
- 提高土壤肥力方法.doc
- 提高孩子专注力10方法.doc
- 提高安全意识教案.doc
- 提高家庭教育实效.doc
- 提高学生计算能力之我见.doc
- 提高孩子的学习能力.doc
- 提高就业质量的建议.doc
- 提高广告传播效果的手段.doc
- 提高成绩的讲座.doc
- 提高就业质量论文.doc
- 某区纪委书记年度民主生活会“四个带头”个人对照检查材料.docx
- 某县纪委监委2024年工作总结及2025年工作计划.docx
- 某市场监督管理局2024年第四季度意识形态领域风险分析研判报告.docx
- 县委书记履行全面从严治党“第一责任人”职责情况汇报.docx
- 税务局党委书记2024年抓党建工作述职报告.docx
- 某市税务局副局长202X年第一季度“一岗双责”履行情况报告.docx
- 副县长在全县元旦春节前后安全生产和消防安全工作部署会议上的讲话.docx
- 某市委书记个人述职报告.docx
- 某县长在县委常委班子年度民主生活会个人对照检查材料1.docx
- 某县长在县委常委班子年度民主生活会个人对照检查材料.docx
文档评论(0)