如何跨平台端口unix管道?

时间:2009-07-27 18:01:22

标签: c++ cross-platform gtk pipe unix

我的代码如下:

使用此库

#include <unistd.h>

#define READ_FD 0
#define WRITE_FD 1

int m_pipe[2]; 

if(pipe(m_pipe) != -1) {
   unsigned long Id = gdk_input_add(m_pipe[READ_FD], GDK_INPUT_READ, Callback, (gpointer)this);
}

它令人惊讶地建立在Linux(所有主要风格:AS3,AS5,solaris)和Windows上。但是,它根本不适用于Windows。

如何实现使用管道的代码,以便它可以在Windows和Linux上运行?

1 个答案:

答案 0 :(得分:0)

我会暴露上层功能而不是管道本身。在unix上,较低级别的库代码将使用管道,但在其他一些机器上,它可以使用不同的机制。