CGO
https://www.cnblogs.com/sunylat/p/6413628.html
目前主要有三种不同的线程库的定义,分别是Win32,OS/2,以及POSIX,前两种定义只适合于他们各自的平台,而POSIX 定义的线程库是适用于所有的计算平台的。我这里选的是threads-posix。
C++ Exceptions有DWARF、SJLJ、SEH三种处理方式。对应的我们这里选择的是seh方式。
比如:x86_64-posix-seh
MinGW、MinGW-w64 与TDM-GCC 应该如何选择?
TDM-GCC是非官方组织提供及维护的编译器集成包。换句话说,他不是由MinGW或MinGW-w64项目官方提供的编译器集成包。
但他基于MinGW及MinGW-w64。而且,他也有他的优点:
例如,TDM-GCC集成了:
最新的稳定版本的GCC工具集,
一些实用的补丁,
MinGW及MinGW-w64中的运行时API。
https://sourceforge.net/projects/mingw-w64/files/
https://sourceforge.net/projects/mingw-w64/files/mingw-w64/mingw-w64-release/
Cygwin - Windows下的Linux开发环境
http://www.cygwin.com/
阿里云镜像
http://mirrors.aliyun.com/cygwin/
https://www.msys2.org/
https://sourceforge.net/projects/msys2/
和cygwin差别不大
唯一的优点应该是包比较新,可以通过pacman来更新
https://github.com/msys2/msys2
Pacman 是一个 软件包管理器, 作为 ArchLinux发行版的一部分. 它最早由 Arch Linux 的 Judd Vinet开发. Pacman 可以解决安装过程中的依赖问题,自动下载并且安装所有需要的软件包。Pacman包管理器是Arch Linux的一大亮点。它将一个简单的二进制包格式和易用的构建系统结合了起来。Pacman使得简单的管理与自定义软件包成为了可能,而不论他们来自于官方的Arch软件库或是用户自己创建的。
Arch Linux是一个轻量的、灵活的Linux发行版,遵循K.I.S.S.(保持简单和愚蠢)原则。
https://github.com/archlinux