msys2\usr\bin中的gcc.exe与msys2\mingww64\bin中的gcc.exe有什么不同?

msys2\usr\bin中的gcc.exe与msys2\mingww64\bin中的gcc.exe有什么不同?,gcc,mingw,msys2,pacman-package-manager,Gcc,Mingw,Msys2,Pacman Package Manager,当键入pacman-sgcc时,它将在msys2中的/usr/bin中安装gcc,但当键入pacman-smingw-w64-x86_64-gcc时,它将安装在/mingw64/bin中 它们之间有什么不同?在/usr/bin中,GCC编译器生成的可执行文件使用msys-2.0.dll作为运行时依赖项。该DLL基本上是Cygwin的一个分支,它提供了在Windows上通常不可用的POSIX命令的仿真。该环境主要用于运行来自Linux世界(如bash)的程序,这些程序需要POSIX命令,并且无法轻

当键入pacman-sgcc时,它将在msys2中的/usr/bin中安装gcc,但当键入pacman-smingw-w64-x86_64-gcc时,它将安装在/mingw64/bin中


它们之间有什么不同?

/usr/bin
中,GCC编译器生成的可执行文件使用
msys-2.0.dll
作为运行时依赖项。该DLL基本上是Cygwin的一个分支,它提供了在Windows上通常不可用的POSIX命令的仿真。该环境主要用于运行来自Linux世界(如bash)的程序,这些程序需要POSIX命令,并且无法轻松移植到本机Windows环境

/mingw32/bin
/mingw64/bin
中的GCC编译器分别针对32位或64位版本的Windows生成本机Windows可执行文件。32位可执行文件实际上可以在32位或64位Windows上运行。这些可执行文件更容易分发;通常,您只需将它们所依赖的所有DLL从
/mingw*/bin
文件夹复制到与可执行文件相同的目录中,然后就可以在其他计算机上成功运行。由于MSYS2的主要用途是帮助编写本机Windows软件,因此在MinGW环境中可以找到比msys-2.0.dll环境中更多种类的库