【C语言环境】Sublime中运行C语言时MinGW环境的安装

要知道,GCC 官网提供的 GCC 编译器是无法直接安装到 Windows 平台上的,如果我们想在 Windows 平台使用 GCC 编译器,可以安装 GCC 的移植版本。

目前适用于 Windows 平台、受欢迎的 GCC 移植版主要有 2 种,分别为 MinGW 和 Cygwin。其中,MinGW 侧重于服务 Windows 用户可以使用 GCC 编译环境,直接生成可运行 Windows 平台上的可执行程序,相比后者体积更小,使用更方便;而 Cygwin 则可以提供一个完整的 Linux 环境,借助它不仅可以在 Windows 平台上使用 GCC 编译器,理论上可以运行 Linux 平台上所有的程序。

如果读者仅需要在 Windows 平台上使用 GCC,可以使用 MinGW 或者 Cygwin;除此之外,如果读者还有更高的需求(例如运行 POSIX 应用程序),就只能选择安装 Cygwin。

本节要重点给大家介绍的是 MinGw 的安装和使用。MinGw 全称 Minimalist GNU for Windows,应用于 Windows 平台,可以为我们提供一个功能有限的 Linux 系统环境以使用一些 GNU 工具,比如 GCC 编译器、gawk、bison 等等。

MinGW的安装

相比在 Linux 平台上安装 GCC 编译环境,在 Windows 平台上安装 MinGW 是比较简单的,只需经历以下几个过程。

  1. 打开 MinGW 官网链接(点击即可进入官网),下载 MinGW 安装包。

  2. 下载完成后,会得到一个名为 mingw-get-setup.exe 的安装包,双击打开它,可以看到如下的对话框:

  3. 直接点击"Install",进入下面的对话框:

  4. 读者可根据自己操作系统的实际情况,自定义 MinGW 的安装位置(例如我选择将其安装到 E 盘),然后点击"continue",进入下面的对话框:

  5. 进入安装 MinGW 配置器的界面,读者耐心等待安装完成(显示 100%)即可。安装完成之后,我们会得到一个名为 "MinGW Installer Manager" 的软件,借助它,我们可以随时根据需要修改 GCC 编译器的配置。点击"continue",会自动弹出配置界面,如下所示:

    为使 GCC 同时支持编译 C 语言和 C++,需勾选图中标注的 2 项。我们知道,GCC 还支持其它编程语言,读者可借助此配置器,随时实际需要安装自己需要的编译环境。勾选完成后,在菜单栏中选择Installation -> Apply Changes,弹出如下对话框:

    选择"Apply"。然后耐心等待,直至安装成功,即可关闭此界面。注意,整个安装过程中可能会提示某些组件下载失败,但没关系,后续需要时,可以通过 MinGw Installer(图 4 所示)安装界面中的 "All Packages"选项中,手动选择指定的安装包进行安装。

  6. 在安装完成的基础上,我们需要手动配置 PATH 环境变量。依次右击计算机(我的电脑) -> 属性 -> 高级系统设置 -> 环境变量,建议读者在当前用户的 PATH 环境变量中增加 MinGW 的安装路径,例如我将其安装到了E:\MinGW文件夹中,因此 PATH 环境变量的设置如下:

    果输出 GCC 编译器的具体信息,则表示安装成功,例如:

MinGW的使用

通过上面的安装,我们就可以在当前 Windows 平台上编译、运行 C 或者 C++ 程序了。

这里以运行一个 C 语言程序为例(存储路径为:D:\demo.c):

c 复制代码
#include <stdio.h>
#include <stdlib.h>
int main(){
    printf("Hello, World!");
    system("pause");
    return 0;
}

在此基础上,在命令行窗口中执行如下指令:

C:\Users\mengma>gcc D:\demo.c -o D:\demo.exe

其会在 D 盘生成一个 demo.exe 可执行文件,找到该文件并双击,即可看到程序的执行结果:

Hello, World!

Windows配置Sublime Text

1.安装 sublime

2.需要环境变量中配置好了GCC

3.在已安装好 GCC 编译器的基础上,接下来开始正式配置 Sublime Text 编辑器。

  1. 要想使 Sublime Text 具备运行 C 语言程序的能力,需在菜单栏中依次点击"Tools -> Build System -> New Build System",由此即可在 Sublime Text 打开一个临时文件,如下所示:

    删除其所有内容,并将如下内容完整地复制到该文件中:
c 复制代码
{
    "cmd": ["gcc","${file}","-o", "${file_path}/${file_base_name}"],
    "file_regex":"^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
    "working_dir":"${file_path}",
    "selector": "source.c",
    "encoding":"cp936",
    "variants":
    [
        {
            "name": "C_Run",
            "cmd": ["cmd","/c", "gcc", "${file}", "-o", "${file_path}/${file_base_name}","&&", "cmd", "/c","${file_path}/${file_base_name}"]
        },
        {
            "name":"C_RunInCommand",
            "cmd": ["cmd","/c", "gcc", "${file}","-o","${file_path}/${file_base_name}", "&&","start", "cmd", "/c","${file_path}/${file_base_name} & pause"]
         }
    ]
}

此文件中的内容,实则是运行 C 语言程序时需要执行的 gcc 指令,只不过在 Sublime Text 文件中,需写成以上形式。

按 Ctrl+S 组合键,将此文件保存起来,其中文件名默认为 untitled.sublime-build(untitile 可以自定义,例如 gcc_sublime-build),保存路径即为按 Ctrl+S 弹出的路径(切忌手动修改此路径)。

  1. 重新打开 Sublime Text,并依次在菜单栏中选择"Tools -> Build System", 在该选项中就可以看到上一步创建好的 gcc_sublime-build 的文件名 gcc

    通过勾选 gcc 编译选项(直接在图中点击即可),我们就可以直接在 Sublime Text 运行写好的 C 语言程序。比如,在 Sublime Text 编写如下程序:

    在此基础上,选择"Tools -> Build With..."选项,此时 Sublime Text 会弹出如下对话框:

    可以看到,这里有 gcc、gcc-C_Run 和 gcc-RunInCommand 3 个选项,其中 gcc 用于编译程序(读者可自行查看执行结果),gcc-C_Run 用于在 Sublime Text 内部调用 GCC 编译器并显示程序的执行结果,gcc_RunInCommand 用于在命令行窗口中借助 gcc 指令运行该程序并输出执行结果

    同样,如果想使 Sublime Text 具备执行 C++ 程序的能力,则只需再建立一个 g++_sublime-build 配置文件,并将如下内容拷贝到该文件中:
c 复制代码
{
    "cmd": ["g++","-Wall", "${file}", "-o", "${file_path}/${file_base_name}"],
    "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
    "working_dir": "${file_path}",
    "selector": "source.c, source.c++",
    "encoding":"cp936",
    "variants":
    [
        {
            "name": "C++_Run",
            "cmd": ["cmd", "/c", "g++", "-Wall","${file}", "-o", "${file_path}/${file_base_name}", "&&", "cmd", "/c", "${file_path}/${file_base_name}"]
        },   
        {
            "name": "C++_RunInCommand",
            "cmd": ["cmd", "/c", "g++", "-Wall","${file}", "-o", "${file_path}/${file_base_name}", "&&", "start", "cmd", "/c", "${file_path}/${file_base_name} & echo.&pause"]
        }
    ]
}

其它操作步骤,和上面是完全一样的。由此,即可使 Sublime_Text 具备执行 C++ 程序的能力。

Mac OS X配置Sublime Text

Mac OS X 系统中,使 Sublime Text 具备执行 C、C++能力的配置过程,和 Windows 系统中的配置步骤大致相同,有以下 2 点不同:

默认情况下,该操作系统中已默认安装有 GCC 编译器,所以如果读者对编译器版本没有刻意的要求,则可以省略安装 GCC 的过程;

在 Mac OS X 系统中,需要修改 gcc_sublime-build 文件中的内容。

若想使 Sublime Text 具备执行 C 语言程序的能力,在菜单栏中依次点击"Tools -> Build System -> New Build System",创建一个 gcc.sublime-build 配置文件,其文件内容如下:

c 复制代码
{
    "cmd" : ["gcc -o ${file_base_name} $file_name"],
    "shell" : true,
    "working_dir" : "$file_path",
    "selector": "source.c",
    "variants" :
    [{
        "name" : "c_Run",
        "cmd" : "./${file_base_name}"
    },
    {
      "name": "c_RunInCommand",
      "shell_cmd": "open -a Terminal.app '${file_base_name}'"
    }]
}

其中,c_Run 用于在 Sublime Text 底部显示程序的执行结果;而 c_RunInCommend 用于在命令行窗口中显示 C 语言程序的执行结果。仍以图 5 中的 C 语言程序为例,则 2 个编译选项的执行效果如下图所示:

可以看到,使用如上指令调取命令行窗口执行 C 语言程序,除执行结果外,还会显示其它无用的信息。因此建议读者使用 c-Run 编译选项执行 C 语言程序,简单方便。

同理,通过创建 g++.sublime-build 配置文件,并将如下内容拷贝到该文件中:

c 复制代码
{
    "cmd" : ["g++ -o ${file_base_name} $file_name"],
    "shell" : true,
    "working_dir" : "$file_path",
    "selector": "source.cpp",
    "variants" :
    [{
        "name" : "c_Run",
        "cmd" : "./${file_base_name}"
    },
    {
      "name": "c_RunInCommend",
      "shell_cmd": "open -a Terminal.app '${file_base_name}'"
    }]
}

即可实现令 Sublime Text 具备执行 C++ 程序的能力。

Ubuntu配置Sublime Text

要知道,Ubuntu 系统默认是不安装 GCC 编译器的,因此在配置 Sublime Text 之前,读者要自行安装 GCC 编译器(执行 sudo apt install gcc 指令即可安装)。

安装 GCC 编译器之后,即可开始配置 Sublime Text。Sublime Text 的配置过程和在 Windows 环境中大致相同,唯一不同之处在于,要修改 xxx.sublime-build 配置文件(读者可自定义 xxx 的内容)中的内容。

如果要使 Sublime Text 具备执行 C 语言程序的能力,则可以依次选择"Tools -> Build System -> New Build System"并创建一个 gcc.sublime-build 配置文件,其中包含如下内容:

c 复制代码
{
    "encoding": "utf-8",
    "working_dir": "$file_path",
    "shell_cmd": "gcc \"$file_name\" -o \"$file_base_name\"",
    "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
    "selector": "source.c",

    "variants":
    [
    
     {   
        "name": "c_Run",
        "shell_cmd": "./${file_base_name}"
        },
        {   
        "name": "c_RunInCommand",
        "shell_cmd": "gnome-terminal -x bash -c \"'${file_path}/${file_base_name}';read -p '\nPress any key to continue...'\""
        }
    ]
}

如果想使 Sublime Text 具备执行 C++ 程序的能力,则可以创建一个 g++.sublime-build 配置文件,将如下内容拷贝到该文件中:

c 复制代码
{
    "encoding": "utf-8",
    "working_dir": "$file_path",
    "shell_cmd": "g++ \"$file_name\" -o \"$file_base_name\"",
    "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
    "selector": "source.cpp",

    "variants":
    [
    
     {   
        "name": "c++_Run",
        "shell_cmd": "./${file_base_name}"
        },
        {   
        "name": "c++_RunInCommand",
        "shell_cmd": "gnome-terminal -x bash -c \"'${file_path}/${file_base_name}';read -p '\nPress any key to continue...'\""
        }
    ]
}

由此,就完成了对 Sublime Text 的配置。仍以图 5 中的 C 语言程序为例,如下是使用 Sublime Text 执行它的效果图:

相关推荐
鸽芷咕13 分钟前
【Python报错已解决】ModuleNotFoundError: No module named ‘paddle‘
开发语言·python·机器学习·bug·paddle
Jhxbdks23 分钟前
C语言中的一些小知识(二)
c语言·开发语言·笔记
java66666888823 分钟前
如何在Java中实现高效的对象映射:Dozer与MapStruct的比较与优化
java·开发语言
Violet永存24 分钟前
源码分析:LinkedList
java·开发语言
代码雕刻家26 分钟前
数据结构-3.1.栈的基本概念
c语言·开发语言·数据结构
Fan_web27 分钟前
JavaScript高级——闭包应用-自定义js模块
开发语言·前端·javascript·css·html
梦想科研社32 分钟前
【无人机设计与控制】四旋翼无人机俯仰姿态保持模糊PID控制(带说明报告)
开发语言·算法·数学建模·matlab·无人机
风等雨归期33 分钟前
【python】【绘制小程序】动态爱心绘制
开发语言·python·小程序
千穹凌帝36 分钟前
SpinalHDL之结构(二)
开发语言·前端·fpga开发
AlexMercer101238 分钟前
【C++】二、数据类型 (同C)
c语言·开发语言·数据结构·c++·笔记·算法