我试图谷歌它,我理解了一些东西,但仍然不知道哪一个适合我的需要。 我想要做的就是在Unix环境下编译C文件(或C ++)(所以我可以使用Fork和那些不能在windows上工作的东西)并在编译后运行这些文件。
更确切地说,我需要使用Fork + Semaphores并使用OpenMPI。我知道我可以用Cygwin(或者我理解的那些)做这些,但看起来它有一个非常大的尺寸,所以我想如果这个Gnuwin32或MYSYS可以做我想做的事情而且它们少了大小然后是Cygwin,那么它会更好吗?
答案 0 :(得分:3)
如果您完全确定需要 fork,而不能使用更多独立于平台的多处理方式(精简fork
/ CreateProcess
包装器)或多线程({{ 1}},pthreads
,C ++ 11 Boost.Thread
,...),然后你强迫自己使用Cygwin。
请注意,Cygwin的std::thread
与fork
在Windows上的效率非常高,这并不是很好,因为操作系统的设计并未考虑到操作因此缺少内核级支持。
Cygwin本身并不是那么大:它只是一个链接到的DLL,它提供了POSIX接口。但是请注意Cygwin是GPL并且链接到Cygwin DLL也会强制你的项目使用copyleft。