windows系统c语言编译器安装

2023-11-03

windows系统c语言编译器安装

1、安装包下载及说明

MinGW 的全称是:Minimalist GNU on Windows ,实际上是将gcc(c/c++编译器)移植到了 Windows 平台下,并且包含了 Win32API ,因此可以将源代码编译为可在 Windows 中运行的可执行程序。而且还可以使用一些 Windows 不具备的,Linux平台下的开发工具。

选择它的原因:

  1. MinGW-w64 是开源软件,可以免费使用。
  2. MinGW-w64 由一个活跃的开源社区在持续维护,不会过时。
  3. MinGW-w64 支持最新的 C语言 标准。

使用 Windows 的C语言运行库,因此编译出的程序不需要第三方 DLL ,可以直接在 Windows 下运行。

1.1 下载

进入MinGW官网:官网地址

在这里插入图片描述

点击Downloads。

在这里插入图片描述

点击MingW-W64-builds。

在这里插入图片描述

页面跳转到下方的下载地址。

在这里插入图片描述

点击Sourceforge。

在这里插入图片描述

这个时候弹出下载的包是在线安装包,我们不选这个,取消下载。

在这里插入图片描述

点击Files。

在这里插入图片描述

页面向下拉。

在这里插入图片描述

页面说明:

  1. version选项:指的是你选择的GCC编译器的版本。

  2. Architecture选项:指的是你的电脑的系统类型,i686表示的是32位的系统类型,x86_64表示的是64位的系统类型。我本人的电脑是64位的系统类型,所以选中x86_64。

  3. Threads选项:指的是线程模型,posix/win32。

    1)POSIX(Portable Operating System Interface,可移植操作系统接口),它是UNIX系统的一个API设计标准,很多类UNIX系统也在支持兼容这个标准,如Linux操作系统。

    2)Win32,它是Windows系统下一个API设计标准,如果你是开发Windows平台下的应用程序,就需要选择Win32。

    3)例如:在Windows下开发Linux应用程序,所以选择的是:posix。

  4. 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。

安装包选择:

  1. 计算机架构【x86_64 64位】。

    1)seh 是新发明的,而 sjlj 则是古老的。只用于64位系统。

    2)seh 性能比较好,但不支持 32位。 sjlj 稳定性好,支持 32位和64位。

    3)因此,x86_64系统架构的推荐使用 seh 的异常处理模型。

  2. 计算机架构【i686 32位】。

    1)dwarf 只支持32位,而sjlj 支持32位/64位,但是dwarf 的性能要优于 sjlj。

    2)i686系统架构的推荐使用 dwarf 的异常处理模型。

根据上面的建议,我下载的安装包为:

在这里插入图片描述

2、安装

将安装包解压到制定目录下:

在这里插入图片描述

配置环境变量,将bin目录配置到path中。

在这里插入图片描述

上面是win7的配置方法,win10的只是界面不一样,方法都是一样的。

验证安装是否成功,在cmd中输入命令gcc -v。

在这里插入图片描述
能看到如上图的信息,就代表安装成功了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

windows系统c语言编译器安装 的相关文章

随机推荐

  • 为什么sql里面not in后面的子查询如果有记录为NULL的,主查询就查不到记录

    为什么sql里面not in后面的子查询如果有记录为NULL的 主查询就查不到记录 原因很简单 SELECT FROM dbo TableA AS a WHERE a id NOT IN 2 NULL 等同于 SELECT FROM Tab
  • SSM概述

    SSM概述 基本概念 SSM Spring SpringMVC MyBatis Spring 简单来说 就是一个轻量级的控制反转 IOC 和面向切面 AOP 的容器框架 其中IOC可以说是SSM的核心之一 SpringMVC 分离了控制器
  • 技术至简-5:动画显示复指数信号的形状与物理意义

    复指数信号概念的理解是一个难点 1 数学表达式 它是由两个同频的正弦和余弦两个基本信号构成 2 复指数信号的内在组成 复指数是两路正交的基本信号 一路是余弦信号 另一路是正弦信号 3 复指数的物理含义 那么含有两路两路正交的基本信号的虚指数
  • 数组JAVA

    JAVA数组详情 什么是数组 数组就是 存储一组数据类型相同的数据元素 数组在内存中空间是连续的 长度初始好 就不能再做改变 数组是属于应用类型的 对象 所以也就可以即存储基本数据类型 还可以存储引用类型 数组的声明 int a 这是声明了
  • cba篮球暂停次数和时间_CBA一场比赛每支球队可以叫多少次暂停

    展开全部 CBA一场比赛在48分钟内两个队最多会有18次暂停 两个官方暂停 62616964757a686964616fe78988e69d833133343364643512个常规暂停 4个短暂停 每个加时赛每个队有三次60秒常规暂停 4
  • Simulink如何添加模块到Library Browser

    文章目录 一 新建Library 1 创建空的Library模块 2 编辑Library 二 添加到Library Browser 1 添加Library的脚本命令 2 新建脚本文件 3 导入Library模块 提示 以下是本篇文章正文内容
  • 华为OD机试 Java 实现【求int型正整数在内存中存储时1的个数】【牛客练习题 HJ15】,附详细解题思路

    一 题目描述 输入一个 int 型的正整数 计算出该 int 型数据在内存中存储时 1 的个数 数据范围 保证在 32 位整型数字范围内 二 输入描述 输入一个整数 int类型 三 输出描述 这个数转换成2进制后 输出1的个数 四 解题思路
  • flutter配置签名文件

    前言 flutter要调用手机的一些功能时会使用到手机模拟器 手机模拟器就需要配置apk了 实现步骤 第一步 生成我们需要的key 在你要生成文件的地方打开 terminal 小黑框执行下列命令 keytool genkey v keyst
  • 赛桨启航!飞桨助力2023年“大湾区杯”粤港澳AI4S竞赛

    近年来 人工智能技术日新月异 创新成果赋能生物医学 材料 金融 气象等千行百业 人工智能技术引领的新一轮科技革命和产业变革浪潮 将成为未来世界经济和高端制造的主导技术 更会对中国现代化产业体系建设发挥无可替代的作用 立足新时代 百度飞桨携广
  • 安装Redis教程(详细过程)

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 一 Redis是什么 二 安装步骤 一 Redis是什么 Redis是一个开源内存数据结构存储器 经常用做数据库 缓存以及消息代理等 Redis因其丰富的数据结构
  • java开发外包是什么意思,一文全懂

    个人基本情况 首先介绍一下自己的个人基本情况 某专科学校毕业 计算机技术与应用专业 有过2年的工作经验 毕业以后一直想要进入一线互联网大厂工作 但无奈学历受限 屡屡被挡在门外 后来接触到一个朋友 了解到 霸面 所以鼓起勇气去尝试了 挑战了一
  • Python uWSGI 安装配置

    目录 前言 Python 安装 uWSGI 第一个 WSGI 应用 添加并发和监控 结合 Web 服务器使用 部署 Django 部署 Flask 前言 本文主要介绍如何部署简单的 WSGI 应用和常见的 Web 框架 以 Ubuntu D
  • MLS multilayer switch

    一次路由 多次交换 pps packets per second bps bits per second Bps byte per second Mpps millions of pps 如果交换机启用了MLS特性 那么交换机将会记录发往路
  • go语言的常见函数

    1 make函数 创建数组切片 Go语言提供的内置函数make 可以用于灵活地创建数组切片 创建一个初始元素个数为5的数组切片 元素初始值为0 mySlice1 make int 5 创建一个初始元素个数为5的数组切片 元素初始值为0 并预
  • 组件化2---APT的实现(ARoute)--传统写法和JavaPoet写法

    APT技术就是得用注解来自动生成一些类式代码 比如下面这个注解 Target ElementType TYPE Retention RetentionPolicy CLASS public interface ARouter String
  • Matlab图像操作——colorbar的详细使用方法与细节操作

    Matlab图像操作 colorbar的详细使用方法与细节操作 在Matlab中 colorbar是一种常用的工具 用于显示图像的颜色条 它提供了对图像色彩的可视化表示 使得用户能够更直观地理解图像数据的分布和范围 本文将介绍colorba
  • 网络传输一丢丢记录【数据包大小限制】

    今早用udp传一个对象序列化字节数组 大小达到了7000 字节 然后udp的send就报异常 一个在数据报套接字上发送的消息大于内部消息缓冲区或其他一些网络限制 或该用户用于接收数据报的缓冲区比数据报小 网上查了一下 说是超过udp的单包容
  • vue获取当前位置的信息以及天气信息

    1 首先在https lbs qq com 这个网页中 先使用微信 注册一个 1 1然后创建应用 1 2创建你的key 效果如下 这里面必须填写 0 0 0 0 255 255 25 255 2 使用npm下载jsonp插件 命令 npm
  • Windows Phone 7 网络字节序列化(结构转字节)实现

    令人激动的Windows Phone 7 Mango WP7 版本开放了Socket接口 虽有些Socket功能无法实现令人遗憾 但还是进步了一些 有了Socket我们就可以用其为我们传递Byte 数据流 而我们的数据又经常保存在struc
  • windows系统c语言编译器安装

    windows系统c语言编译器安装 1 安装包下载及说明 MinGW 的全称是 Minimalist GNU on Windows 实际上是将gcc c c 编译器 移植到了 Windows 平台下 并且包含了 Win32API 因此可以将