我正在Windows上安装mingw-w64,有两个选项:win32线程和posix线程。我知道win32线程和pthread之间有什么区别,但是我不明白这两个选项之间有什么区别。我怀疑如果我选择posix线程会阻止我调用诸如CreateThread之类的WinAPI函数。 似乎该选项指定了某个程序或库将使用哪个线程API,但是该使用什么呢?是通过GCC,libstdc ++还是...
我正在安装 mingw-w64 on Windows,有两个选项: win32线程和posix线程。 我知道win32线程和pthreads之间的区别,但是我不明白这两个选项之间的区别。 我怀疑如果我选择了posix线程,它将阻止我调用像CreateThread这样的WinAPI函数。似乎这个选项指定了哪个程序或者库将使用哪个线程 API,但通过什么? 由 GCC,libstdc++...
总之,对于这个版本的mingw,threads-posix版本将使用posix API并允许使用std :: thread,并且threads-win32将使用win32 API,并禁用std :: thread的部分标准。 好的,如果我将选择win32线程,那么std :: thread将不可用,但仍将使用win32线程。 但是用什么? GCC带有一个编译器运行库(libgcc),它用于(除其他外)提供一...
2、这两个对应64位操作系统: : x86_64-posix-sjlj : x86_64-posix-she 3、这两个对应32位操作系统: : x86_64-win32-sjlj : x86_64-win32-she 4、DWARF:一种带调试信息(DWARF- 2(DW2)EH)的包, 所以比一般的包尺寸大,仅支持32位系统; 5、补充说明: sjlj:跨平台,支持32,64位系统,缺点是:...
我正在Windows上安装mingw-w64,有两个选项:win32线程和posix线程。我知道win32线程和pthread之间有什么区别,但是我不明白这两个选项之间有什么区别。我怀疑如果我选择posix线程会阻止我调用诸如CreateThread之类的WinAPI函数。似乎该选项指定了某个程序或库将使用哪个线程API,但是该使用什么呢?是通过GCC,libstdc ++还是...
总之,对于这个版本的mingw,threads-posix版本将使用posix API并允许使用std :: thread,并且threads-win32将使用win32 API,并禁用std :: thread的部分标准。 好的,如果我将选择win32线程,那么std :: thread将不可用,但仍将使用win32线程。 但是用什么?
In short, for this version of mingw, the threads-posix release will use the posix API and allow the use of std::thread, and the threads-win32 will use the win32 API, and disable the std::thread part of the standard. 安装说明
压缩包前缀x86_64和i686分别表示64位和32位操作系统 posix和win32分别表示系统应用接口编程协议,这里选择win32 最后一个后缀为异常处理模型,可参考https://www.jianshu.com/p/d66c2f2e3537,这篇文章有详细讲解,总结起来——32位选dwarf,64位选seh
但是MinGW使用Windows中的C运行库。因此用MinGW开发的程序不需要额外的第三方DLL支持就可以直接在Windows下运行,而且也不一定必须遵从GPL许可证。这同时造成了MinGW开发的程序只能使用Win32API和跨平台的第三方库,而缺少POSIX支持[3],大多数GNU软件无法在不修改源代码的情况下用MinGW编译。具体细节可看官方网站。
MinGW 的全称是:Minimalist GNU onWindows。它实际上是将经典的开源 C语言 编译器 GCC 移植到了 Windows 平台下,并且包含了 Win32API 和 MSYS,因此可以将源代码编译生成 Windows 下的可执行程序,又能如同在Linux平台下时,使用一些 Windows 不具备的开发工具。