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语言编译器安装 的相关文章

  • fopen_s 怎么会比 fopen 更安全呢?

    我正在处理遗留代码Windows平台 当我编译代码时VS2013 它给出以下警告 错误 C4996 fopen 该函数或变量可能不安全 考虑使用fopen s反而 要禁用弃用 请使用 CRT SECURE NO WARNINGS 详情请参见
  • 如何从 Qt 应用程序通过 ODBC 连接到 MySQL 数据库?

    我有一个新安装的 MySQL 服务器 它监听 localhost 3306 从 Qt 应用程序连接到它的正确方法是什么 原来我需要将MySQL添加到ODBC数据源 我在遵循这个视频教程后做到了这一点 https youtu be K3GZi
  • 谷歌基准迭代的意义是什么?

    我正在使用 Google Benchmark 来测量某些代码的执行时间 例如 我编写了以下代码来测量其执行时间性能 include
  • 合法管理员如何获取 Active Directory 中的用户密码?

    如果密码以可逆加密方式存储在 Active Directory 中 管理员 开发人员如何提取和解密该密码 具体来说 我指的是this http technet microsoft com en us library cc784581 WS
  • Winsock 接受超时

    是否可以设置超时时间accept使用阻塞winsockets时的函数 就像我们可以通过setsockopt 来接收和发送函数一样 似乎不可能 但我想确保 选择功能可以与超时一起使用 虽然 select 最常与非阻塞套接字一起使用 但我还没有
  • 使 GetRawInputDeviceInfo 和 RIDI_DEVICEINFO 与 C# 一起使用

    我有一个问题 我似乎无法使 GetRawInputDeviceInfo 与 RIDI DEVICEINFO 结合使用 尝试检索 RID DEVICE INFO 根本不起作用 我从函数中得到错误 1 这意味着没有足够的空间来存储 RID DE
  • Node.js - 将数据缓冲到 Ffmpeg

    我使用 Node js 和 Ffmpeg 来创建动画 因为我试图避免第三方 avi mp4 解析器 所以我决定将动画输出为原始 rgb24 数据文件 然后使用一些程序将其转换为 mp4 文件 我发现 Ffmpeg 是免费且开源的 它完全可以
  • Excel的解析路径

    其实我想问以下问题 对于位于 目录中定义的 PATH 怎么能 我找出这些目录中的哪个 找到了 因为我需要使用 Process Run 从 C 运行 Excel 并且只需指示 Excel 即可正常工作 Windows 似乎知道在哪里可以找到它
  • 如何从系统属性获取Windows操作系统环境变量

    我遇到一个关于系统属性环境变量的奇怪问题 如你所知 我们可以打开Computer gt Property gt Advanced System Settings gt Advanced gt System Environment Varia
  • Nodejs 在 Windows 上找不到已安装的模块

    我现在正在Windows上学习nodejs 使用npm cmd全局安装了几个模块 nodejs找不到已安装的模块 以玉石为例 npm install jade g Jade安装在目录中 C Program Files x86 nodejs
  • JScript:如何运行外部命令并获取输出?

    我正在使用 cscript exe 运行 JScript 文件 在脚本中我需要调用外部console命令并获取输出 Tried var oShell WScript CreateObject WScript Shell var oExec
  • 如何在 Windows 上检查子进程是否被信号杀死

    问题 给定一个在 python 中启动的子进程 其代码类似于 import subprocess p subprocess Popen command stdout subprocess PIPE stderr subprocess PIP
  • 通过 PsExec 在远程计算机中执行批处理文件

    我正在尝试通过 PSExec 在远程 PC 上运行批处理文件 在批处理文件中我刚刚编写了 记事本 下面的 psexec 命令在我的笔记本电脑上运行 但无法在远程 PC 上执行任何操作 我什至没有看到 记事本 在远程计算机的进程列表上运行 c
  • 无法启动 Windows 快捷方式

    我正在尝试使用 python 启动 Windows 我已经尝试了 os system subprocess call os startfile 等多种方法 但总是收到错误消息 指出路径不存在 我知道路径是正确的 因为我尝试在 CMD EXE
  • 在 Windows 上使用 pycrypto 时如何修复“ImportError:无法从 Crypto.Cipher 导入名称 _AES”?

    我在 Crypto 的 Cipher 模块中有 AES Python27 Lib Crypto Cipher AES 当我尝试做的时候 from Crypto Cipher import AES 我收到以下错误 Traceback most
  • 原子的 C++ 内存屏障

    在这方面我是个新手 谁能提供以下内存屏障之间差异的简化解释 窗户MemoryBarrier 围栏 mm mfence 内联汇编asm volatile memory 内在的 ReadWriteBarrier 如果没有简单的解释 一些好文章或
  • 虚拟USB设备的安装与仿真

    我已经读过创建虚拟USB设备 https stackoverflow com questions 5016363 creating a virtual usb device and 虚拟USB设备 https stackoverflow c
  • 有关 CredEnumerate 的帮助

    作为后续this https stackoverflow com questions 199518 how to programatically add mapped network passwords winxp我希望有人可以帮助解决这个
  • TCHAR 仍然相关吗?

    我是 Windows 编程新手 在读完 Petzold 的书后 我想知道 使用TCHAR类型和 T 函数来声明字符串或者我应该使用wchar t and L 新代码中的字符串 我将仅针对现代 Windows 截至撰写本文时版本 10 和 1
  • Perl:管理 Windows 上的路径编码

    我正在努力处理包含非英文字符的路径 Activestate Perl Windows XP 如何打开 写入 复制等位于包含希腊语 俄语 法语重音字符的路径中的文件 假设我要将 text txt 文件复制到的目录是 C Documents a

随机推荐

  • 为什么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 因此可以将