在C+;中,如何处理不依赖操作系统的消息+;? P>有没有办法编写C++程序来处理在Linux和Windows中工作的IPC? 是否有任何C++库在不依赖于操作系统的情况下运行?< p>如果“消息”是指IPC(进程间通信),那么不,不需要OS的参与,那么在你可以在宇宙中找到的每个操作系统上,都可能是不同的。如果“消息”是指在应用程序内部传递数据的任何方式,那么是的,它可以而且应该在没有操作系统参与的情况下完成

在C+;中,如何处理不依赖操作系统的消息+;? P>有没有办法编写C++程序来处理在Linux和Windows中工作的IPC? 是否有任何C++库在不依赖于操作系统的情况下运行?< p>如果“消息”是指IPC(进程间通信),那么不,不需要OS的参与,那么在你可以在宇宙中找到的每个操作系统上,都可能是不同的。如果“消息”是指在应用程序内部传递数据的任何方式,那么是的,它可以而且应该在没有操作系统参与的情况下完成,c++,ipc,message,C++,Ipc,Message,在IPC的情况下,如果您只需要传递消息,则始终可以使用。当然,如果您还需要获取UI事件等,这还不够;是一个在C++中常用的便携式GUI工具包(不是很漂亮,但是很有用)。 < p>如果你在谈论socket(又名TCP/IP或UDP/IP),那么你可以使用Sosiks库,如果你小心的话,你可以在Windows和UNIX变型上都有相同的代码工作。但是跨平台套接字API的异步能力非常有限(调用select及其相关的可伸缩性问题) 你也可以使用。这是跨平台的,具有更丰富的异步语义 对于命名管道或FIFO之

在IPC的情况下,如果您只需要传递消息,则始终可以使用。当然,如果您还需要获取UI事件等,这还不够;是一个在C++中常用的便携式GUI工具包(不是很漂亮,但是很有用)。

< p>如果你在谈论socket(又名TCP/IP或UDP/IP),那么你可以使用Sosiks库,如果你小心的话,你可以在Windows和UNIX变型上都有相同的代码工作。但是跨平台套接字API的异步能力非常有限(调用
select
及其相关的可伸缩性问题)

你也可以使用。这是跨平台的,具有更丰富的异步语义


对于命名管道或FIFO之类的东西。。。我知道没有一个好的跨平台库可以处理这样的事情。

消息太多了。。。你能说得更具体一点吗?我们这里说的是什么样的“信息”?不,不。。。汉德尔是德国巴洛克作曲家。你要找的词是“handle”。他可能指的是以
WM\uuu
开头的东西。你可以使用跨平台框架,比如Qt,它将操作系统抽象出来,然后你只能使用框架的“消息”或类似机制。Boost有IPC库。在下面使用操作系统设施,但有时你可以闭上眼睛假装不是是的,我是说IPC。那么,我需要编写两个程序实例?@JalalJaberi:如果你的代码很好,你只需要编写两个发送和接收消息的代码实例。您可以创建一个统一的API和自己的库,为每个操作系统实现API。