我想知道在什么情况下使用Cygwin来编译C代码以及何时会选择MinGW。我过来What is the difference between Cygwin and MinGW?描述了Cygwin和MinGW之间的区别。
据我所知,可以说以下内容:
然而,我的理解似乎是错误的,因为我能够使用MinGW编译包含pthread.h的虚拟程序。我错误地理解了什么?
答案 0 :(得分:4)
您的理解基本上是正确的。但是,有一个win32 pthreads端口,它是本机线程API的瘦包装。
更合适的示例是fork()
,无法在win32上轻松模拟。为此,Cygwin强制执行一个固定的DLL内存布局,如果无法将库加载到应该去的地方(cue rebaseall
),事情就会爆炸。