windows下gcc编译C、C++程序 MinGW编译器

文章目录

  • 1、概要
  • 2、MinGW安装
    • 2.1 编译器下载
    • 2.2 编译器安装
    • 2.3 设置环境变量
    • 2.4 查看gcc版本信息
  • 3、编译C、C++程序
    • 3.1 编写Hello World.c
    • 3.2 编译C程序
    • 3.3 运行程序
    • 3.4 编译C++程序

1、概要

GCC原名为GNU C语言编译器(GNU C Compiler),只能处理C语言。但其很快扩展,变得可处理C++,后来又扩展为能够支持更多编程语言,如Fortran、Pascal、Objective -C、Java、Ada、Go以及各类处理器架构上的汇编语言等,所以改名GNU编译器套件(GNU Compiler Collection)。GCC支持多种计算机体系结构芯片,如x86、ARM、MIPS等,并已被移植到其他多种硬件平台。
MinGW,是Minimalist GNU for Windows的缩写。它是一个可自由使用和自由发布的Windows特定头文件和使用GNU工具集导入库的集合,允许在GNU/Linux和Windows平台生成本地的Windows程序而不需要第三方C运行时(C Runtime)库。MinGW 是一组包含文件和端口库,其功能是允许控制台模式的程序使用微软的标准C运行时(C Runtime)库(MSVCRT.DLL),该库在所有的 NT OS 上有效,在所有的 Windows 95发行版以上的 Windows OS 有效,使用基本运行时,你可以使用 GCC 写控制台模式的符合美国标准化组织(ANSI)程序,可以使用微软提供的 C 运行时(C Runtime)扩展,与基本运行时相结合,就可以有充分的权利既使用 CRT(C Runtime)又使用 WindowsAPI功能。

2、MinGW安装

2.1 编译器下载

下载地址:MinGW - Minimalist GNU for Windows - Browse Files at SourceForge.net
下载后文件如mingw-get-setup.exe。

2.2 编译器安装

双击运行“mingw-get-setup.exe”
在这里插入图片描述
“Install”
在这里插入图片描述
默认根据需要选择目录,安装目录“C:\MinGW”。“Continue”;
在这里插入图片描述
“Continue”
在这里插入图片描述
选择要安装的组件
在这里插入图片描述
选择C编译器、C++编译器等
在这里插入图片描述
“Installation”-“Apply Changes”
在这里插入图片描述
“Apply”
在这里插入图片描述
安装完成,“Close”
在这里插入图片描述
在这里插入图片描述

2.3 设置环境变量

“设置”-“系统‘-”系统信息“-”设备规格“-”高级系统设置“-”系统属性“-”高级“-”环境变量“-”系统变量“
在这里插入图片描述
“path”-“编辑”
在这里插入图片描述
添加MinGW安装路径
在这里插入图片描述

2.4 查看gcc版本信息

在这里插入图片描述

3、编译C、C++程序

3.1 编写Hello World.c

在这里插入图片描述

3.2 编译C程序

在文件所在目录打开命令行
在这里插入图片描述
使用gcc编译*.c文件
在这里插入图片描述

3.3 运行程序

在当前目录生成可执行文件“Hello_World.exe”。运行可执行文件
在这里插入图片描述

3.4 编译C++程序

使用g++编译*.cpp文件
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/3246025.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

debian 实现离线批量安装软件包

前言 实现在线缓冲需要的软件和对应依赖的包,离线进行安装 ,用于软件封装。 测试下载一个gcc和依赖环境,关闭默认在线源,测试离线安装gcc和依赖环境 兼容 debian ubuntu/test 测试下载安装包到目录 vim /repo_download.sh #!…

QT开发笔记:信号和槽

乱码问题: 出现乱码问题原因只有一个:就是编码方式不匹配!!! 中文常见汉字4K,算上各种生僻字差不多六万字 仍然使用一个大表格,给每个汉字,分配一个整数即可。 字符集~~表示汉字的字符集&#…

SpringBoot使用本地缓存——Caffeine

SpringBoot使用本地缓存——Caffeine 缓存,想必大家都用过,将常用的数据存储在缓存上能在一定程度上提升数据存取的速度。这正是局部性原理的应用。之前用的缓存大多是分布式的,比如Redis。使用Redis作为缓存虽然是大多数系统的选择&#xf…

基于springboot和mybatis的RealWorld后端项目实战三之添加swagger

pom.xml添加依赖 <dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>2.9.2</version></dependency><dependency><groupId>io.springfox</groupId><arti…

Linux多进程

父子进程 一个进程可以创建另一个进程吗&#xff1f; 干想代码可能很犹豫&#xff0c;因为我们从来都没有见过创建新进程的代码。但是&#xff1a; 短短几秒钟&#xff0c;就创建了两个进程。这些进程是系统创建的吗&#xff1f;不是。一个是小爱同学创建的&#xff0c;另一个…

CSS实现加载动画

需求&#xff1a;在开发过程中&#xff0c;我们会经常遇到一些基本的加载动画需求。这里我们简单介绍几个加载动画&#xff0c;主要是通过使用css的animation和transition的属性进行实现的动画和过渡效果。 语法&#xff1a; animation: name duration timing-function delay…

电脑录屏录音软件,拥有这3款就足够

在信息化的时代&#xff0c;电脑早已成为我们生活中的得力助手。而电脑录屏录音软件&#xff0c;就像是一位能够帮助我们捕捉到屏幕上一切的魔法师&#xff0c;用其独特的魔力&#xff0c;将屏幕上的精彩瞬间和动人声音一一捕捉&#xff0c;永久珍藏。 电脑录屏与录音并不是一…

Java | Leetcode Java题解之第238题除自身以外数组的乘积

题目&#xff1a; 题解&#xff1a; class Solution {public int[] productExceptSelf(int[] nums) {int length nums.length;// L 和 R 分别表示左右两侧的乘积列表int[] L new int[length];int[] R new int[length];int[] answer new int[length];// L[i] 为索引 i 左侧…

LabVIEW机器学习实现外观检测

介绍如何利用LabVIEW平台结合机器学习技术实现对被测样品的外观检测。详细说明了硬件选择、算法使用、操作步骤以及注意事项。 硬件选择 工业相机&#xff1a;高分辨率工业相机&#xff08;如Basler、FLIR等&#xff09;用于采集样品的图像。 照明设备&#xff1a;均匀的LED照…

亲子母婴行业媒体邀约宣发资源

传媒如春雨&#xff0c;润物细无声&#xff0c;大家好&#xff0c;我是51媒体网胡老师。 亲子母婴行业是一个综合性的产业&#xff0c;涉及多个领域&#xff0c;包括儿童食品&#xff0c;儿童玩具&#xff0c;服装&#xff0c;洗护&#xff0c;月子中心&#xff0c;母婴护理&a…

江科大SPI教程听课笔记

原理部分我打算听江科大的课复习一下&#xff0c;代码部分工作大概率用HAL库敲了。 SPI(Serial Peripheral Interface)是由Motorola公司开发的一种通用数据总线。 硬件资源方面需要四根通信线:SCK(Serial Clock)、MOSI(Master Output Slave Input)、MISO (Master Input Slave…

苏州大视通特种镜头规格书-360内度壁镜头-型号DST36023066

360内壁检测镜头 产品特点 专为内壁检测开发的特种镜头&#xff1b;可实现大视场角的内壁检测&#xff1b;最大支持直径 5mm-120mm&#xff0c;深度 4mm-120mm的内孔检测&#xff1b;最大支持 2/3”相机&#xff0c;成像圈为 φ6mm&#xff1b;可定制光阑孔径以调节亮度和景深…

【FPGA】优雅地使用ILA进行FPGA硬件调试

Vivado&#xff08;Vitis&#xff09;版本&#xff1a;2020.2FPGA开发板&#xff1a;Microphase Z7-Lite 7020开发板 FPGA设计调试流程 FPGA开发是一个不断迭代的过程&#xff0c;一般的FPGA设计流程一般包含下面几个步骤&#xff1a; 硬件架构和算法验证&#xff1a;实现需要…

CV每日论文--2024.7.16

1、Radiance Fields from Photons 中文标题&#xff1a;光子的辐射场 简介&#xff1a;神经辐射场(NeRFs)已成为从多个视角捕获的图像进行高质量视图合成的事实标准方法。然而,在野外环境下捕获图像时,仍存在许多挑战,例如低光、高动态范围或快速运动导致的模糊重建和明显的伪…

Apache trino的ldap认证开启

作者&#xff1a;櫰木 1、背景 由于trino 默认没有开启用户认证体系&#xff0c;需要ldap用户进行认证。开启tls和ldap用户认证&#xff0c;提高安全性。 2、配置 前置条件。 trino 集群已经部署完成 ldap 服务 openjdk 版本大于11.0.17 生成证书 keytool -genkeypair…

前端pc和小程序接入快递100(跳转方式和api方式)====实时查询接口

文章目录 跳转方式微信小程序&#xff08;我以uniapp为例&#xff09;pc api接入说明关于签名计算成功示例 跳转方式 没有任何开发成本&#xff0c;直接一键接入 可以直接看官方文档 https://www.kuaidi100.com/openapi/api_wxmp.shtml 微信小程序&#xff08;我以uniapp为例…

SQL,python,knime将数据混合的文字数字拆出来,合并计算(学习笔记)

将下面将数据混合的文字数字拆出来&#xff0c;合并计算 一、SQL解决&#xff1a; ---创建表插入数据 CREATE TABLE original_data (id INT AUTO_INCREMENT PRIMARY KEY,city VARCHAR(255),value DECIMAL(10, 1) );INSERT INTO original_data (city, value) VALUES (上海0.5…

十一、Java多线程(模块16-17)

十一、Java多线程 day08-线程安全,死锁,状态,通讯,线程池今日目标1 线程安全1.1 线程安全产生的原因注意 : 以上代码是有问题 , 接下来继续改进通过上述代码的执行结果 , 发现了出现了负号票 , 和相同的票 , 数据有问题 1.2 线程的同步1.3 同步代码块1.4 同步方法1.5 Lock锁 2 …

电脑QQ录屏,2个方法轻松搞定电脑录屏

“电脑QQ也有录屏功能吗&#xff1f;我使用电脑QQ多年居然不知道QQ还有录屏功能。电脑QQ录屏功能怎么使用啊&#xff1f;有没有会的小伙伴可以教教我&#xff1f;先谢谢大家啦&#xff01;” QQ作为陪伴我们多年的“老朋友”&#xff0c;它不仅是我们与朋友家人沟通的重要桥梁…

揭秘OpenCV:探寻视觉世界的轮廓之谜

揭秘OpenCV&#xff1a;探寻视觉世界的轮廓之谜 1. 介绍1.1 什么是轮廓检测&#xff1f;1.2 OpenCV 中的轮廓检测应用 2. 准备工作2.1 安装 OpenCVWindows 用户:macOS 用户:Linux 用户: 2.2 加载图像2.3 图像处理&#xff08;转换图像颜色空间&#xff09;2.4 表格描述 3. 轮廓…