进程间通信有那几种方法?

guoxiny 2003-02-28 02:51:49
请问各位进程间通信有那几种方法?

还有在动态连接库(dll)中,有dll和lib,请问lib是dll的什么呢?
...全文
92 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
dzhcheng 2003-03-01
  • 打赏
  • 举报
回复
WM_COPYDATA消息
DDE/DDEML
mailslot
管道
COM
guoxiny 2003-02-28
  • 打赏
  • 举报
回复
这样的话可不可以将进程间通信的方式归结为一下几点:
1、消息(DDE(动态数据交换)和DDEML(动态数据交换管理库))
2、内存(剪切版、内存映射文件)
3、Socket(mailslot(邮件槽)和管道)
4、COM
JoeRen 2003-02-28
  • 打赏
  • 举报
回复
DDE(动态数据交换)和DDEML(动态数据交换管理库)是一套基于Windows消息机制的基础API,用来提供两个互不认识的应用程序之间的数据交换。具体的内容请参见MSDN。相关的还有一种NDDE(网络动态数据交换)。
mailslot(邮件槽)和管道是类似于Socket的东西,mailslot类似于UDP(但具备可靠性),管道类似于TCP。使用Mailslot,首先CreateMailslot,然后CreateFile,接下来就可以ReadFile获取数据和WriteFile写入数据了。使用管道,则分为匿名管道和有名管道,有不同的使用方法,具体参见MSDN。
COM(组件对象模型)是目前大多数应用程序普遍使用的方法,具有很多优点。编译器也为此提供了很多支持。但是要理解其基本的工作方式需要一段时间的学习。
guoxiny 2003-02-28
  • 打赏
  • 举报
回复
P操作和V操作!

什么意思?
nanhui 2003-02-28
  • 打赏
  • 举报
回复
P操作和V操作!
zPerry 2003-02-28
  • 打赏
  • 举报
回复
可以自定义消息
听说用dll的全局变量也可以
互斥量(Mutex)、事件(Event)等可以声明为全局的(Global),可以在进程之间使用,详见MSDN
guoxiny 2003-02-28
  • 打赏
  • 举报
回复
能具体一点吗?

如将WM_COPYDATA消息归为消息类,剪贴板(内存映射文件)归为内存类等
能解释一下DDE/DDEML,mailslot,管道和COM吗?
JoeRen 2003-02-28
  • 打赏
  • 举报
回复
1、剪贴板
2、WM_COPYDATA消息
3、DDE/DDEML
4、mailslot
5、管道
6、COM
guoxiny 2003-02-28
  • 打赏
  • 举报
回复
互斥量、事件、关键字段这些好像都是线程同步的对象!

我想问的是进程间通信的方式?
dancetime 2003-02-28
  • 打赏
  • 举报
回复
LIB文件是一个导入库。客户程序要使用DLL,只有导出声明还不够,这样并不能使客户联接到DLL。客户的工程必须对链接程序指定LIB文件。这种方式叫隐式链接。我们还可以用显式链接:调用LoadLibray函数,指定dll路径。再用GetProcAdress就可以得到你想要调用得函数得地址了。
dancetime 2003-02-28
  • 打赏
  • 举报
回复
互斥量、事件、关键字段。

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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