MinGW安装和使用

mingw(minimalist gnu for #%#$#%@%@%$#%$#%#%#$%@_0f4137ed1502b5045d6083aa258b5c++42)是一个简洁的windows平台上用于c/c++、ada及fortran的编译器。与cygwin相比,mingw体积更小,使用起来也更加方便。

MinGW的最大优势在于,它编译出的可执行文件能够独立运行在Windows系统上。

MinGW的组成:

编译器(支持C、C++、ADA和Fortran)GNU工具mingw-get(用于Windows平台安装和部署MinGW及MSYS的命令行安装器)mingw-get-inst(用于GUI打包)

1. MinGW安装

1.1. 下载MinGW官方

MinGW安装和使用

点击“Download Installer”后会跳转到Sourceforge页面进行下载:

MinGW安装和使用

之后,会下载一个名为

mingw-get-setup.exe

的安装文件。

1.2. 安装下载器

运行刚刚下载的安装程序,看到如下界面:

MinGW安装和使用

点击“Install”,进入下面这个界面:

MinGW安装和使用

选择安装路径。默认安装路径为

C:MinGW

,我习惯安装在D盘下,点击“Change”修改路径如下:

MinGW安装和使用

点”Continue”继续。

MinGW安装和使用

安装过程

安装完成后,桌面出现这样一个图标。

MinGW安装和使用

安装器

这只是个安装器,需要在线下载真正的安装内容,所以速度不会快。

1.3. 选择安装组件

运行安装程序,有的版本在安装之后会自动运行,看到下面这个界面:

MinGW安装和使用

选择安装组件

选择需要安装的组件,右键选择“Mark for Installation”,之后选择”Installation -> Apply Changes”。

1.4. GCC

这里重点要提到的是GCC组件的安装,如图所示。

MinGW安装和使用

帮衣帮-AI服装设计 帮衣帮-AI服装设计

AI服装设计神器,AI生成印花、虚拟试衣、面料替换

帮衣帮-AI服装设计 106 查看详情 帮衣帮-AI服装设计

选择GCC组件

先选择左边的”MinGW Base System”选项,之后再右边找到mingw-gcc。最好选择bin,dev和lic三个组件进行安装。

MinGW安装和使用

之后点击菜单栏中的“Installation”进行安装。

注意:在安装程序中,复选框为绿色表示已经安装的项目,复选框为白色表示没有安装的项目。因此如果需要删除,只需要在绿色复选框右键后选择“Mark for removal”即可。

1.5 确认安装成功

安装执行完成后,在

D:MinGWbin

目录(我们之前配置好的路径)下进行查看。如果找到下面这三个可执行文件,说明安装成功。

MinGW安装和使用

注意:如果你是为了使用Code::Blocks安装MinGW,到这一步就完成了。之后的使用请参考C语言从零开始(二)—Code::Blocks使用。Code::Blocks在配置Debug工具时需要指定MinGW的路径。

2. 配置

2.1. 设置MinGW环境变量

鼠标右键“我的电脑”->“属性”,选择“高级”选项卡下的“环境变量”,在系统变量里点“新建”,之后填写MinGW的安装路径,如下:

MinGW安装和使用

MinGW路径

之后找到Path,在最前面添加下面这段声明,之后点击确定。安装完成后,在MinGWbin的目录下,会有一个名为gcc.exe的可执行文件。看到这个说明安装成功。

%MinGW%bin;

2.2. 查看GCC版本信息

打开命令行,输入gcc -v查看编译器版本。如下图:

MinGW安装和使用

GCC

3. MinGW使用

3.1. 测试编译

测试文件test.c,代码如下:

#include void main() {    printf("Hello World!");}

3.2. 编译test

编译命令如下:

gcc test.c -o test

输出结果为:test.exe

3.3. 执行

输入test回车,结果如下:

MinGW安装和使用

结果

以上就是MinGW安装和使用的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/400585.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月6日 19:14:54
下一篇 2025年11月6日 19:15:48

相关推荐

  • 构建可靠的PHP邮件表单:HTML与PHP文件路径配置详解

    本文旨在解决php表单邮件发送失败的常见问题,重点阐述html表单`action`属性中路径配置的正确性,以及php文件与html文件之间的相对位置关系。通过避免常见的路径斜杠使用错误和确保文件结构合理,读者将能有效调试并成功实现表单邮件发送功能。 理解PHP表单邮件发送机制 在Web开发中,HTM…

    好文分享 2025年12月12日
    000
  • 使用Eclipse打开PHP后缀文件的完整步骤_高效开发PHP后缀文件的技巧

    安装PDT插件并配置本地服务器后,Eclipse可高效开发PHP。1. 通过Eclipse Marketplace安装PHP Development Tools(PDT);2. 安装XAMPP等环境并配置服务器路径;3. 使用代码提示、模板、Xdebug调试和自动格式化功能提升效率;4. 打开文件或…

    2025年12月12日
    000
  • PHP三元运算符开发规范_PHP三元运算符编码规范

    三元运算符应规范使用以提升代码可读性与维护性。1. 基本语法需确保条件为无副作用的布尔表达式,真/假值部分保持简洁;2. 禁止三层及以上嵌套,两层仅限逻辑简单场景,复杂情况应拆分变量或用if-else;3. 判断存在性时优先使用null合并运算符(??)或isset,避免对0、空字符串等假值误判;4…

    2025年12月12日
    000
  • PHPHTTP请求如何发送_PHPCurl请求使用教程

    使用cURL扩展可发送各类HTTP请求。1. 发送GET请求获取数据:初始化curl,设置URL和返回传输选项,执行并关闭连接;2. 发送POST请求提交数据:设置POST为true,携带表单或JSON数据,添加Content-Type头;3. 自定义请求头与超时:通过CURLOPT_HTTPHEA…

    2025年12月12日
    000
  • PHP字符串处理:精确移除开头的数字字符

    本教程详细介绍了在PHP中如何高效、准确地移除字符串开头的数字字符,同时保留字符串中其他位置的数字。文章涵盖了ltrim()、preg_replace()、substr()结合strspn()、sscanf()以及自定义循环等多种实现方法,并提供了相应的代码示例和注意事项,帮助开发者根据具体场景选择…

    2025年12月12日
    000
  • PHP中获取当前、上一或下一季度起止Unix时间戳的专业指南

    本文提供了一个专业的php函数,旨在精确计算当前、上一或下一季度的起始和结束unix时间戳。该函数通过灵活的参数配置,有效解决了时区差异和年份边界转换等复杂问题,为开发者提供了处理季度日期计算的强大工具,确保时间戳的准确性和一致性。 在PHP开发中,经常需要处理日期和时间,尤其是在财务、报告或数据分…

    2025年12月12日
    000
  • 在树莓派上使用PHP发送邮件的安全性与配置指南

    本文旨在解决在树莓派上使用php `mail()`函数发送邮件时遇到的常见问题,并重点强调潜在的安全漏洞。我们将深入探讨php `mail()`函数的工作原理、`sendmail`的配置,以及如何避免开放式中继和邮件头注入等严重安全风险。同时,推荐使用更安全、更可靠的第三方邮件库来优化邮件发送功能。…

    2025年12月12日
    000
  • 在 Laravel Eloquent 中构建多层级关联查询与优化

    本教程详细阐述如何在 Laravel Eloquent 中高效处理多层级模型关联查询。通过一个赞助商、参与者和选择项的案例,我们将学习如何利用 belongsToMany 关联类型和中间模型,将深层嵌套的查询扁平化,并结合查询作用域实现日期过滤,从而优化数据检索效率和代码可读性。 在 laravel…

    2025年12月12日
    000
  • Laravel控制器方法间请求数据传递指南

    本文详细介绍了如何在Laravel控制器内部,通过使用类属性($this->propertyName)在不同方法间共享数据,特别是处理和传递请求对象。通过将一个方法处理后的请求数据存储到控制器实例的属性中,另一个方法即可在同一请求生命周期内访问并利用这些数据,从而实现控制器内部的数据流转和逻辑…

    2025年12月12日
    000
  • PHP递增操作符在正则表达式中的辅助作用_PHP正则辅助递增用法

    递增操作符++虽不直接用于正则匹配,但可与preg_replace_callback等函数结合实现有序替换、计数标记和动态填充,关键在于通过use(&$var)引用外部变量以维持递增值,从而在回调中完成如序号添加、分组标注等功能。 PHP递增操作符(++)本身并不直接用于正则表达式中,因为它…

    2025年12月12日
    000
  • 深入理解MVC分层架构:控制器与仓储层交互的最佳实践

    本文深入探讨了在mvc架构中,控制器层与仓储层交互的最佳实践。核心观点是控制器应专注于处理用户输入和协调模型更新,将复杂的业务逻辑委托给服务层。直接在控制器中使用仓储层会导致职责混淆、“胖控制器”问题,并增加系统耦合性。通过服务层封装业务逻辑,实现清晰的分层,能有效提升代码的可维护性、可测试性和可扩…

    2025年12月12日
    000
  • PHP表单提交故障排查:HTML action 路径与文件结构解析

    本文详细探讨php表单提交失败的常见原因,特别是html `action` 属性中路径配置不当的问题。通过分析错误的路径表示和正确的文件组织方式,指导开发者如何确保表单数据能准确发送至后端php脚本进行处理,从而解决表单无法正常发送邮件的故障。 引言:理解表单提交机制 在Web开发中,HTML表单是…

    2025年12月12日
    000
  • MVC架构中控制器与数据访问层的合理交互

    在mvc架构中,控制器应专注于处理用户输入并协调领域模型更新,而非直接操作数据访问层。将业务逻辑封装在服务层中,由服务层调用数据仓库(repository),能有效解耦、提升代码可维护性和可测试性,避免“胖控制器”问题,从而构建更清晰、更专业的应用程序结构。 控制器的核心职责 在标准的MVC(Mod…

    2025年12月12日
    000
  • PHP中管理外部进程:使用proc_open()实现进程启动、PID获取与终止

    本文详细阐述了在php中有效管理外部进程的方法,重点聚焦于如何使用`proc_open()`函数启动、监控并终止(如`ffmpeg`)等外部程序。文章解释了避免使用`start /min`的必要性,并提供了获取进程id(pid)及终止进程的示例代码和最佳实践,确保php应用能够对外部任务进行精细化控…

    2025年12月12日
    000
  • 在PHP中利用注释进行代码版本管理

    答案:通过标准注释和常量记录版本信息可实现轻量级代码管理。在PHP文件头部添加包含版本号、修改时间、作者及变更说明的注释块,采用语义化版本格式并保持变更日志倒序排列;对函数级修改使用行内注释标明原因与责任人;同时定义如APP_VERSION之类的常量便于运行时获取版本,结合日志或接口展示以辅助排查问…

    2025年12月12日
    000
  • MVC架构中控制器与仓库层的职责划分:为何应避免直接调用仓库层

    在mvc架构中,控制器应专注于处理用户输入和协调模型更新,而非直接执行业务逻辑或数据持久化操作。本教程强调,为了维护清晰的职责分离和架构的健壮性,控制器应将复杂的业务逻辑委托给服务层处理,而服务层再与仓库层交互以实现数据访问。直接从控制器调用仓库层会导致控制器臃肿、难以测试,并损害代码的可维护性。 …

    2025年12月12日
    000
  • Laravel中控制器与中间件的数据交互:以密码重置为例

    本文探讨在laravel应用中,如何处理控制器与中间件之间的数据传递,特别是在“after”中间件中获取响应数据。针对密码重置这类特殊业务场景,我们分析了将业务逻辑置于控制器或中间件的优劣,并推荐将令牌失效逻辑直接集成到控制器中,以实现更清晰、高效的代码结构。 引言:Laravel中间件与数据流转挑…

    2025年12月12日
    000
  • PHP 多维数组中特定键值的高效查找与关联数据提取

    本教程详细讲解如何在PHP多维数组中高效查找特定键的特定值,并进一步提取相关联的数据。通过结合使用array_column和array_search或array_keys函数,可以避免手动循环,显著提升代码的简洁性和执行效率,适用于需要快速定位和处理嵌套数组中特定信息场景。 多维数组中查找的挑战 在…

    2025年12月12日
    000
  • PHP动态变量嵌入HTML模板:使用str_replace高效实现内容渲染

    本教程旨在解决从数据库检索的HTML模板中,PHP动态变量无法正确渲染,而是直接显示变量名的问题。我们将详细介绍如何利用PHP的str_replace函数,将HTML内容中的占位符替换为实际的动态变量值,从而实现高效、灵活的模板内容渲染,确保变量数据能够正确呈现在最终输出中。 HTML模板中动态变量…

    2025年12月12日
    000
  • PHP如何批量插入数据_PHP向mysql批量插入数据的优化方法

    答案:通过批量插入、预处理语句、LOAD DATA INFILE和事务提交等方法可显著提升PHP操作MySQL的插入效率。具体包括:使用单条INSERT语句合并多行数据,每批次控制在500~1000条;采用PDO预处理防止SQL注入并提升执行速度;对于文件导入场景,优先使用LOAD DATA INF…

    2025年12月12日
    000

发表回复

登录后才能评论
关注微信