假期孩子想学习 C 语言编程,让帮着搭建一个简单好用的 C 语言开发环境。虽然笔记本配置的是Windows 7 操作系统,但当前可供选择的支持Windows 7系统的 C/C 语言开发环境还不少,如: Visual Studio系列、Dev-C 、Code::Blocks、Eclipse for C/C 、NetBeans、VS Code 扩展等十几种。于是计划就此写个Windows平台搭建C/C 语言开发环境系列文章,面向广大C语言编程初学者,分别介绍几种主流常用的Windows平台C/C 开发环境的搭建(下载、安装、配置)和简单开发(源码编辑、编译、运行和调试),以供其了解和学习。
已经对 Dev-C 集成开发环境进行了分享介绍。
已经对 Code::Blocks 集成开发环境进行了分享介绍。
本文是对Windows平台基于MinGW-w64构建C/C 语言基础开发环境的介绍,为接下来的 Windows平台基于MinGW-w64 Visual Studio Code Microsoft C/C 扩展构建C/C 语言组合集成开发环境的介绍做前提。
本次分享内容的目录如下:
前言
MinGW-w64简介(MinGW简介、MinGW-w64简介、MinGW-w64应用)
MinGW-w64下载
MinGW-w64安装
添加系统环境变量
验证测试
MinGW-w64应用(基础开发环境应用、IDE MInGW-w64的集成开发环境应用、代码编辑器 MinGW-w64 扩展/插件的组合集成开发环境应用)
结束语
1. MinGW-w64简介1.1 MinGW简介
官方网址:http://www.mingw.org/
项目网址:https://osdn.net/projects/mingw/
MinGW 是 Minimalist GNU for Windows的简称, 是一款用于本机 Microsoft Windows 应用程序的简约开发环境。它提供了一个完整的开源编程工具集,包括GCC(GNU Compiler Collection的简称,支持C、C 、ADA和Fortran编译器)、适用于Windows的GNU Binutils(汇编器、链接器、文档管理器)等。
MinGW 编译器提供了对 Microsoft C-Runtime动态链接库(如:MSVCRT.DLL)和某些特定于语言的Runtime功能的访问。它能够在不依赖第三方C-Runtime动态链接库的情况下,将源代码编译为可以在本机Windows中直接运行的可执行程序。
尽管 MinGW 目前仅提供32位编译器套件(只能编译生成32位Windows应用程序),但所有 MinGW 的软件都可以在64位Windows系统上运行。
MinGW 采用 GPLv3(GNU General Public License version 3.0)许可协议。
1.2 MinGW-w64简介官方网址:http://mingw-w64.org/
项目网址:https://sourceforge.net/projects/mingw-w64/
SourceForge上的MinGW-w64项目
MinGW-w64 是基于 MinGW 的改进分支(2007年),以扩展对64位和新API的支持。
MinGW-w64 项目是一个针对 GCC 编译器的完整运行时环境,以支持Windows 64位和32位操作系统本机的二进制文件。
MinGW-w64 采用 LGPLv2(GNU Library or Lesser General Public License version 2.0)许可协议。
MinGW-w64 最新版本是2019年11月10日发布的v7.0.0版本。
1.3 MinGW-w64应用MinGW-w64 是一款免费开源的C/C 编译器;支持较新的C/C 语言标准和GCC/Binutils;由活跃的开源社区在持续维护更新;能直接使用 Windows 的C-Runtime库,编译出来的程序不需要第三方动态链接库(DLL),就可以直接在本机Windows上运行;同时提供32位和64位编译器;因此目前已经得到了广泛的应用(如:在Fedora cross-compiler、OpenSUSE、Code::Blocks、GCC、GDB、GIMP、Qt、wxWidgets等项目中),因此其更加稳定可靠。
在Windows平台上MinGW-w64 有如下应用场景:
在Windows系统上安装好MinGW-w64和配置好系统环境变量后,就已经是一个典型的C/C 基础开发环境了。开发者可以在控制台通过命令行的方式来对C/C 源文件进行编译、运行和DBG调试了。
Windows系统上单独安装了MinGW-w64后,其他集成开发环境(如Code::Blocks、Dev-C 等)是可以通过“编译器配置”来将本IDE编译器指定到MinGW-w64。这样在选择IDE安装文件时就可以选择不带编译器的安装文件了(文件要小很多)。
例如:代码编辑器Visual Studio Code可以通过安装Microsoft C/C 扩展,然后再通过Visual Studio Code配置完成将编译器指定到MinGW-w64,进而完成一个功能完备的C/C 集成开发环境。
2. MinGW-w64下载
官网下载链接:https://sourceforge.net/projects/mingw-w64/files/
MinGW-w64下载
网站提供两类安装文件:在线安装文件 和 离线安装文件。文件名参数说明如下:
建议选择下载对应的离线安装压缩包文件x86_64-8.1.0-release-posix-seh-rt_v6-rev0.7z,其对应64位架构(x86_64)、版本号(8.1.0)、线程模型(posix)、异常处理模型(seh)。
3. MinGW-w64安装3.1 在线安装方式
运行(建议以管理员身份)已经下载的离线安装程序mingw-w64-install.exe文件,按提示完成安装过程。
注:在线安装受网络影响较大,也可以选择离线安装方式。
Step1:进入“欢迎窗口”,点击【Next】按钮
安装-欢迎窗口
Step2:进入“设置窗口”,根据所要构建的开发环境,选择不同的选项(选项具体说明见图下)。
安装-设置窗口
上图选项说明:
Version :指编译器GCC的版本。若无特殊需求,一般选择最高版本号(如8.1.0)。
Architecture: 是指电脑系统是 32位 还是 64位,根据你的电脑系统做出对应选择(如64位选择x86_64)。
Theads(线程模型):无C 11多线程特性选择win32,支持C 11多线程选择posix。
Exception(异常处理模型):异常处理在开发中非常重要,在开发的过程中,大部分的时间会耗在处理各种异常情况上。若之前选择了 64位,则有两个异常处理模型可供选择:seh是新发明的、性能比较好、但不支持 32位,而sjlj则是古老的、稳定性好、同时支持 32位;若之前选择了32位,则有两个异常处理模型可供选择:dwarf是新发明的、性能比较好、但不支持 64位;而sjlj则是古老的、稳定性好、同时支持 64位。
Build revision:选择默认选项(其实无选择余地)。
Step3:进入“设置安装路径窗口”,可自定义安装路径(如:C:\Develop),点击【Next】按钮。
安装-设置安装路径窗口
说明:建议更改缺省安装路径(全路径名太长了)。
Step4:进入“安装窗口(下载文件)”,此时安装程序开始连接服务器下载真正的安装本体文件。
安装-下载文件
说明:视网络环境,下载所需的时间会有所不同。
Step5:进入“安装窗口(安装文件)”,此时安装程序在真正的解压复制文件到安装路径。
安装-复制文件
Step6:进入“安装窗口(安装完毕)”,此时复制文件以及结束,点击【Next】按钮。
安装完毕
说明:此时MinGW-w64已经下载完成,可以在安装目录(C:\Develop)下找到它的各种组件文件。
Step7:进入“结束窗口”,点击【Finish】按钮完成本次安装过程。
安装-结束
Step8:完成完成后可在c:\Develop\MinGW64目录下看到下图:
MinGW64文件目录结构
3.2 离线安装方式说明:此时MinGW-w64还没有真正意义上完成安装,还需要进行环境配置生效后,才能正常使用它编译源代码。
离线安装方式非常简单,说明如下:
假定我们已经下载了对应的离线安装压缩包文件x86_64-8.1.0-release-posix-seh-rt_v6-rev0.7z。
Step1:把该离线安装压缩包文件复制到C:\Develop目录下
Step2:利用解压缩工具软件把上述压缩包文件解压到当前文件夹,结果如下图示:
MinGW64文件目录结构
Step3:再把之前C:\Develop目录下的离线安装压缩包文件删除。
说明:此时MinGW-w64还没有真正意义上完成安装,还需要进行环境配置生效后,才能正常使用它编译源代码。
4. 添加系统环境变量
MinGW-w64 安装完成后,非常非常重要的一点是把 MinGW-w64 添加到系统环境变量中,并使之生效。
Windows 7 系统上设置步骤如下:
添加系统环境变量
Step1:右键点击【计算机】,在弹出的菜单中点击【属性】。
Step2:在弹出的对话框中点击【高级系统设置】;
Step3:继续在弹出的“系统属性对话框中点击【环境变量...】;
Step4:继续在弹出的“环境变量”对话框中,选择【Path变量】,点击【编辑...】按钮;
Step5:继续在弹出的“编辑系统变量”对话框中,在Path变量名下的变量值框中添加 ;C:\Devlop\MinGW64\bin。
Step6:然后一路按【确定】按钮,直至关闭弹出的窗口。
注:建议重启系统后使得刚才设置的环境变量能够生效。
5. 验证测试
当 MinGW-w64 安装完毕,且系统环境变量设置完毕并生效后,在控制台终端执行如下三条命令时,如果能显示如下类似信息,则代表MinGW-w64完全安装成功。此时就可以在Windows平台上利用MinGW-w64来对C/C 程序进行编译、调试了。
$ gcc -v
......
Thread model: posix
gcc version 8.1.0 (x86_64-posix-seh-rev0, Built by MinGW-W64 project)
$ g -v
......
Thread model: posix
gcc version 8.1.0 (x86_64-posix-seh-rev0, Built by MinGW-W64 project)
$ gdb -v
GNU gdb (GDB) 8.1
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3 : GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
......
6. MinGW-w64应用6.1 基础开发环境应用
在Windows系统上安装好MinGW-w64和配置好系统环境变量后,就已经是一个典型的C/C 基础开发环境了。开发者可以在控制台通过命令行的方式来对C/C 源文件进行编译、运行和DBG调试了。
一、通过文本编辑器完成源文件创建(如: hello.c)
#include <stdio.h>
int main()
{
printf(" \n");
printf(" Hello world! 北京您好! \n");
printf(" \n");
return 0;
}
二、在控制台通过命令行方式完成对源文件的编译,并生成可执行文件(如:hello.exe)
c:\> gcc -o hello.exe hello.c
三、在控制台通过命令行方式执行可执行文件,会在屏幕输出相应信息
c:\> hello.exe
Hello, C语言开发者!
6.2 通过 “IDE MinGW-w64” 建立基于 MinGW-w64 的集成开发环境应用
Windows系统上单独安装了MinGW-w64后,其他集成开发环境(如Code::Blocks、Dev-C 等)是可以通过“编译器配置”来将本IDE编译器指定到MinGW-w64。这样在选择IDE安装文件时就可以选择不带编译器的安装文件了(文件要小很多)。
6.2.1 Code::Blocks MinGW-w64可以通过如下设置步骤完成将Code::Blocks的编译器指定到MinGW-w64:
Code::Blocks设置编译器
- Step1:通过执行Code::Blocks软件菜单栏【设置】下的【编译器…】子菜单项
- Step2:在“编译器设置”窗口中,选择左侧的【全局编译器设置】按钮(上图标号1处)
- Step3:在右侧确认:"可选择的编译器"选择的是“GNU GCC Compiler”项(上图标号2处)
- Step4:在右侧点击“可执行工具链”选项卡(上图标号3处),确认:"编译器的安装目录"选择的是已经安装好的编译器路径(如:C:\Develop\MinGW64)(上图标号4处),并依次确认“程序文件”下各程序。
- Step5:确认无误后点击【确定】按钮(上图标号5处),完成编译器重新设置。
这样就实现了通过Code::Blocks本身IDE MinGW-w64 编译器的新组合集成开发环境了。
您可以进一步测试验证,应该能正常进行编译运行和调试。
6.2.2 Dev-C MinGW-w64可以通过如下设置步骤完成将Dev-C 的编译器指定到MinGW-w64:
Dev-C 设置编译器
- Step1:通过执行Dev-C 软件菜单栏【工具】下的【编译选项】子菜单项
- Step2:在“编译器选项”窗口中,确认下方的【设定编译器配置】对应的选项(上图标号1处)
- Step3:点击下方的【目录】选项卡(上图标号2处)
- Step4-1:再次点击下方的【二进制】子选项卡(上图标号3处),在下方的列表框中选择具体的二进制路径(上图标号4处),然后在(上图标号5处)处修改成MinGW-w64安装目录所对应的二进制目录(如:C:\Develop\MinGW64\bin),然后点击下方的【替换】按钮(上图标号6处)使之生效。
- Step4-2:参照Step4-1,完成【库】子选项卡(上图标号7处),在下方的列表框中选择具体的库路径(上图标号4位置),然后在(上图标号5位置)处修改成MinGW-w64安装目录所对应的库目录(如:C:\Develop\MinGW64\lib),然后点击下方的【替换】按钮(上图标号6处)使之生效。
- Step4-3:参照Step4-1,完成【C包含文件】子选项卡(上图标号8处),在下方的列表框中选择具体的C包含文件路径(上图标号4位置),然后在(上图标号5位置)处修改成MinGW-w64安装目录所对应的C包含文件目录(如:C:\Develop\MinGW64\include),然后点击下方的【替换】按钮(上图标号6处)使之生效。
- Step4-4:参照Step4-3,完成【C 包含文件】子选项卡(上图标号9处),在下方的列表框中选择具体的C 包含文件路径(上图标号4位置),然后在(上图标号5位置)处修改成MinGW-w64安装目录所对应的C 包含文件目录(如:C:\Develop\MinGW64\include),然后点击下方的【替换】按钮(上图标号6处)使之生效。
- Step5:确认无误后点击【确定】按钮(上图标号10处),完成编译器重新设置。
这样就实现了通过Dev-C 本身IDE MinGW-w64 编译器的新组合集成开发环境了。
您可以进一步测试验证,应该能正常进行编译运行和调试。
6.3 通过“代码编辑器 MinGW-w64 扩展/插件”建立组合集成开发环境应用代码编辑器Visual Studio Code可以通过安装Microsoft C/C 扩展,然后再通过Visual Studio Code配置完成将编译器指定到MinGW-w64,进而完成一个功能完备的C/C 集成开发环境。
注:此部分内容我会在“Windows平台搭建C/C 语言开发环境”系列中单独介绍,敬请期待!
结束语
相信各位 C 语言初学者们阅读完本文后,应该已经对MinGW-w64、如何在 Windows 平台基于MinGW-w64构建C/C 语言基础开发环境有了一个基本的了解掌握,接下来就可以再次进入到 C 语言的学习应用环节了。
希望本文能对您有所帮助!喜欢的话就点个赞加关注支持一下哈:)
,