美文网首页
windows下mingw和msys

windows下mingw和msys

作者: 西贝_贾 | 来源:发表于2021-07-01 11:26 被阅读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
    • Architecture:i686是32位,x86_64是64位系统。
    • Thread: win32对应开发Windows程序,posix对应其它
    • Exception: 当Architecture是i686时,此处可选sjlj和dwarf,当Architecture是x86_64时,此处可选sjlj和seh

    Thread中posix和win32的区别

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

    相关文章

      网友评论

          本文标题:windows下mingw和msys

          本文链接:https://www.haomeiwen.com/subject/fqjjultx.html