windows下mingw和msys

2021-07-01  本文已影响0人  西贝_贾

MSYS 和 MinGW64 的区别和联系?

MSYS 相当于操作系统(如Windows),这个操作系统提供的软件、接口等和Linux相似。
MinGW 相当于开发工具包(如MSVC),这个开发工具包可以运行在 MSYS 下,包里的工具也可以运行在Windows下,编译结果是Windows程序。
参考自:使用MSYS的一些经验 - 知乎 (zhihu.com)

MSYS和mingw的选择

MSYS2 和 MinGW 都提供 gcc,但是属于两个完全不同的工具链。前者属于 msys2-devel ,后者属于 mingw-w64-$arch-toolchain。使用 mingw-gcc 编译的目标文件是原生的,而使用 msys2-gcc 编译的目标文件依赖于 msys-2.0.dll 提供的虚拟 POSIX 环境。如果你要编译的东西强依赖于 POSIX syscall (比如 fork 等),那么就要用 MSYS2 的 gcc。而如果是要当做一个 release 拿去给别人用的,用 MinGW 的 gcc 好些。当然,事情也不绝对,对于前者你也可以给源文件 patch 一个 MinGW 移植,对于后者也可以用 MSYS2 然后附带上 msys-2.0.dll。根据我自己的经验,如果你使用目标文件的环境就是 MSYS2 的话,用 MSYS2 工具链编译的程序要比 MinGW 工具链的稳定一些(对 ruby, python 等工具而言)。
参考自:想在Windows 下使用GCC 等工具,应该选MinGW 还是MSYS2? - 知乎 (zhihu.com)

MinGW 版本说明

参考自:(3条消息) MinGW-w64 C/C++编译器下载和安装_石大侠-CSDN博客_mingw64

image.png

Thread中posix和win32的区别

参考https://zhuanlan.zhihu.com/p/107318335

上一篇下一篇

猜你喜欢

热点阅读