admin 管理员组文章数量: 887021
windows系统c语言编译器安装
1、安装包下载及说明
MinGW 的全称是:Minimalist GNU on Windows ,实际上是将gcc(c/c++编译器)移植到了 Windows 平台下,并且包含了 Win32API ,因此可以将源代码编译为可在 Windows 中运行的可执行程序。而且还可以使用一些 Windows 不具备的,Linux平台下的开发工具。
选择它的原因:
- MinGW-w64 是开源软件,可以免费使用。
- MinGW-w64 由一个活跃的开源社区在持续维护,不会过时。
- MinGW-w64 支持最新的 C语言 标准。
使用 Windows 的C语言运行库,因此编译出的程序不需要第三方 DLL ,可以直接在 Windows 下运行。
1.1 下载
进入MinGW官网:官网地址 。
点击Downloads。
点击MingW-W64-builds。
页面跳转到下方的下载地址。
点击Sourceforge。
这个时候弹出下载的包是在线安装包,我们不选这个,取消下载。
点击Files。
页面向下拉。
页面说明:
-
version选项:指的是你选择的GCC编译器的版本。
-
Architecture选项:指的是你的电脑的系统类型,i686表示的是32位的系统类型,x86_64表示的是64位的系统类型。我本人的电脑是64位的系统类型,所以选中x86_64。
-
Threads选项:指的是线程模型,posix/win32。
1)POSIX(Portable Operating System Interface,可移植操作系统接口),它是UNIX系统的一个API设计标准,很多类UNIX系统也在支持兼容这个标准,如Linux操作系统。
2)Win32,它是Windows系统下一个API设计标准,如果你是开发Windows平台下的应用程序,就需要选择Win32。
3)例如:在Windows下开发Linux应用程序,所以选择的是:posix。
-
Exception选项:指的是异常处理模型。i686系统架构有2种选择:dwarf 和 sjlj。x86_64系统架构也有2种选择:seh 和 sjlj。由于我选择的是64位的系统架构,所以可供选择的异常处理模式是:seh 和 sjlj。下面说明sjlj, seh, dwarf三者的区别:
1)在C++中有 try…throw…catch,当它执行这种结构时,它需要保存现场还原现场,而 sjlj, seh, dwarf 正是实现这类过程的三种方式。
2)sjlj 全称是 SetJump / LongJump,前者设还原点,后者跳到还原点。可用于32位或者64位系统。
3)seh (Structured Exception Handling,结构化异常处理) 是 Borland 公司的,微软买了其专利使用权,它利用了FS段寄存器,将还原点压入栈,收到异常时再弹出。相较而言,sjlj 是 C 标准库就有的东西,seh 在 2014 年前是有专利的,从性能上说 seh 比 sjlj 快。只用于64位系统。
4)dwarf 只支持32位系统 – 没有永久的运行时间开销 – 需要整个调用堆栈被启用,这意味着exception不能被抛出,例如Windows系统DLL。
安装包选择:
-
计算机架构【x86_64 64位】。
1)seh 是新发明的,而 sjlj 则是古老的。只用于64位系统。
2)seh 性能比较好,但不支持 32位。 sjlj 稳定性好,支持 32位和64位。
3)因此,x86_64系统架构的推荐使用 seh 的异常处理模型。
-
计算机架构【i686 32位】。
1)dwarf 只支持32位,而sjlj 支持32位/64位,但是dwarf 的性能要优于 sjlj。
2)i686系统架构的推荐使用 dwarf 的异常处理模型。
根据上面的建议,我下载的安装包为:
2、安装
将安装包解压到制定目录下:
配置环境变量,将bin目录配置到path中。
上面是win7的配置方法,win10的只是界面不一样,方法都是一样的。
验证安装是否成功,在cmd中输入命令gcc -v。
能看到如上图的信息,就代表安装成功了。
版权声明:本文标题:windows系统c语言编译器安装 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1716026315h662932.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论