Cygwin或Gnuwin32还是MYSYS?

时间:2014-10-24 07:53:46

标签: c windows fork openmpi

我试图谷歌它,我理解了一些东西,但仍然不知道哪一个适合我的需要。 我想要做的就是在Unix环境下编译C文件(或C ++)(所以我可以使用Fork和那些不能在windows上工作的东西)并在编译后运行这些文件。

更确切地说,我需要使用Fork + Semaphores并使用OpenMPI。我知道我可以用Cygwin(或者我理解的那些)做这些,但看起来它有一个非常大的尺寸,所以我想如果这个Gnuwin32或MYSYS可以做我想做的事情而且它们少了大小然后是Cygwin,那么它会更好吗?

1 个答案:

答案 0 :(得分:3)

如果您完全确定需要 fork,而不能使用更多独立于平台的多处理方式(精简fork / CreateProcess包装器)或多线程({{ 1}},pthreads,C ++ 11 Boost.Thread,...),然后你强迫自己使用Cygwin。

请注意,Cygwin的std::threadfork在Windows上的效率非常高,这并不是很好,因为操作系统的设计并未考虑到操作因此缺少内核级支持。

Cygwin本身并不是那么大:它只是一个链接到的DLL,它提供了POSIX接口。但是请注意Cygwin是GPL并且链接到Cygwin DLL也会强制你的项目使用copyleft。