Sublime Text使用教程(用Sublime Text编写C语言程序)

news2025/4/19 14:16:14

Sublime Text 是一款当下非常流行的文本编辑器,其功能强大(提供有众多的插件)、界面简洁、还支持跨平台使用(包括 Mac OS X、Linux 和 Windows)。

在程序员眼中,Sublime Text 不仅仅是一个文本编辑器,它还可以作为代码编辑器。只要对 Sublime Text 进行简单的设置,它就可以自行调用 GCC 编译器编译写好的代码。

考虑到 Sublime Text 跨平台的特性,本节将分别为读者讲解,如何设置 Windows、Linux(以 Ubuntu 为例)以及 Mac OS X 系统中的 Sublime text 编辑器,使其具备执行 C 语言程序的能力。

Sublime Text下载:https://pan.quark.cn/s/01c37af589de

Windows配置Sublime Text

如图 1 所示,是笔者本机已经安装好的 Sublime Text。如果读者尚未安装,先下载并安装(安装过程非常简单,这里不做过多赘述)。

安装好的Sublime Text

图 1 安装好的 Sublime Text

要知道,刚刚安装的 Sublime Text 无法自行具备运行 C 语言代码的能力,需要我们手动对其进行设置。不过在开始设置之前,读者需保证当前系统中已经初始化好了 GCC 编译环境。打开命令行窗口,并执行 gcc -v 指令,如果输出 GCC 编译器的具体版本等信息,表明当前系统以成功配置了 GCC 编译环境(如图 2 所示)。

配置GCC编译环境

图 2 配置 GCC 编译环境

如果读者所用环境中尚未配置 GCC 编译环境,可阅读《https://pan.quark.cn/s/01c37af589de》一节进行安装。

在已安装好 GCC 编译器的基础上,接下来开始正式配置 Sublime Text 编辑器。
1) 要想使 Sublime Text 具备运行 C 语言程序的能力,需在菜单栏中依次点击“Tools -> Build System -> New Build System”,由此即可在 Sublime Text 打开一个临时文件,如下所示:

运行C语言程序的配置文件

图 3 运行 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 弹出的路径(切忌手动修改此路径)。

2) 重新打开 Sublime Text,并依次在菜单栏中选择“Tools -> Build System”, 在该选项中就可以看到上一步创建好的 gcc_sublime-build 的文件名 gcc,如图 4 所示:

查看创建好的gcc编译选项

图 4 查看创建好的 gcc 编译选项

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

SublimeText中编写C语言程序

图 5 SublimeText 中编写 C 语言程序

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

可选择的编译选项

图 6 可选择的编译选项

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

Windows配置Sublime Text

图 7 各个选项的功能

由此,Sublime_Text 就具备执行 C 语言程序的能力了。

Mac OS X配置Sublime Text

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

  • 默认情况下,该操作系统中已默认安装有 GCC 编译器,所以如果读者对编译器版本没有刻意的要求,则可以省略安装 GCC 的过程;
  • 在 Mac OS X 系统中,需要修改 gcc_sublime-build 文件中的内容。

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

{
    "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 个编译选项的执行效果如下图所示:

Mac OS X配置Sublime Text

图 8 Mac OS X配置Sublime Text

可以看到,使用如上指令调取命令行窗口执行 C 语言程序,除执行结果外,还会显示其它无用的信息。因此建议读者使用 c-Run 编译选项执行 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 配置文件,其中包含如下内容:

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

Ubuntu配置Sublime Text

图 9 Ubuntu配置Sublime Text

 

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

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

相关文章

【1】k8s集群管理系列--包应用管理器之helm

一、helm概述 Helm核心是模板,即模板化K8s YAML文件。 通过模板实现Chart高效复用,当部署多个应用时,可以将差异化的字段进行模板化,在部署时使用-f或 者–set动态覆盖默认值,从而适配多个应用 helm工作流程&#xf…

Mysql表的操作(2)

1.去重 select distinct 列名 from 表名 2.查询时排序 select 列名 from 表名 order by 列名 asc/desc; 不影响数据库里面的数据 错误样例 : 但结果却有点出乎意料了~为什么会失败呢? 其实这是因为书写的形式不对,如果带了引号,…

智能物联网网关策略部署

实训背景 某智慧工厂需部署物联网网关,实现以下工业级安全管控需求: 设备准入控制:仅允许注册MAC地址的传感器接入(白名单:AA:BB:CC:DD:EE:FF)。协议合规性:禁止非Modbus TCP(端口…

Java学习总结-线程池

线程池是什么? 线程池就是一个可以复用线程的技术。 假若不用线程池的问题:创建新线程开销很大,不能来一个任务就就创建一个新线程。 如何创建线程池对象? 方法一:使用ExecutorService的实现类ThreadPoolExecutor创…

基于CNN-BiLSTM-GRU的深度Q网络(Deep Q-Network,DQN)求解移动机器人路径规划,MATLAB代码

一、深度Q网络(Deep Q-Network,DQN)介绍 1、背景与动机 深度Q网络(DQN)是深度强化学习领域的里程碑算法,由DeepMind于2013年提出。它首次在 Atari 2600 游戏上实现了超越人类的表现,解决了传统…

CVE-2025-29927 Next.js 中间件鉴权绕过漏洞

Next.js Next.js 是一个基于 React 的现代 Web 开发框架,用来构建高性能、可扩展的 Web 应用和网站。 CVE-2025-29927 Next.js 中间件鉴权绕过漏洞 CVE-2025-29927是Next.js框架中的一个授权绕过漏洞,允许攻击者通过特制的HTTP请求绕过在中间件中执行…

数据结构(五)——AVL树(平衡二叉搜索树)

目录 前言 AVL树概念 AVL树的定义 AVL树的插入 右旋转 左旋转 左右双旋 右左双旋 插入代码如下所示 AVL树的查找 AVL树的遍历 AVL树的节点个数以及高度 判断平衡 AVL树代码如下所示 小结 前言 前面我们在数据结构中介绍了二叉搜索树,其中提到了二叉搜…

C++类型转换详解

目录 一、内置 转 内置 二、内置 转 自定义 三、自定义 转 内置 四、自定义 转 自定义 五、类型转换规范化 1.static_case 2.reinterpret_cast 3.const_cast 4.dynamic_cast 六、RTTI 一、内置 转 内置 C兼容C语言,在内置类型之间转换规则和C语言一样的&am…

excel数据透视表大纲格式改为表格格式

现有这样一个数据透视表: 想要把他变成这样的表格格式: 操作步骤: 第一步: 效果: 第二步: 效果: 去掉分类汇总: 效果: 去掉展开/折叠按钮: 操作方式&#xf…

天梯集训+代码打卡笔记整理

1.着色问题 直接标注哪些行和列是被标注过的&#xff0c;安全格子的数量就是未标注的行*列 #include <bits/stdc.h> using namespace std;const int N 1e510; int hang[N],lie[N];int main(){int n,m;cin>>n>>m;int q;cin>>q;while(q--){int x,y;ci…

支付系统设计入门:核心账户体系架构

&#x1f449;目录 1 账户记账理论 2 账户设计 3 账户性能问题 4 账户核心架构 5 小结 第三方支付作为中立的第三方&#xff0c;截断了用户和商户的资金流&#xff0c;资金先从用户账户转移到第三方支付平台账户&#xff0c;得到双方确认后再从支付平台账户转移到商户账户。 支…

[LevelDB]Block系统内幕解析-元数据块(Meta Block)元数据索引块(MetaIndex Block)索引块(Index Block)

本文内容组织形式 Block的基本信息作用示意图举例说明 源码解析Footer格式写入&读取编码&解码 元数据块&#xff08;Meta Block&#xff09;构建&读取 元数据索引块构建&读取 索引块定义构建&读取核心方法-FindShortestSeparator&FindShortSuccessor作…

leetcode:905. 按奇偶排序数组(python3解法)

难度&#xff1a;简单 给你一个整数数组 nums&#xff0c;将 nums 中的的所有偶数元素移动到数组的前面&#xff0c;后跟所有奇数元素。 返回满足此条件的 任一数组 作为答案。 示例 1&#xff1a; 输入&#xff1a;nums [3,1,2,4] 输出&#xff1a;[2,4,3,1] 解释&#xff1a…

断言与反射——以golang为例

断言 x.(T) 检查x的动态类型是否是T&#xff0c;其中x必须是接口值。 简单使用 func main() {var x interface{}x 100value1, ok : x.(int)if ok {fmt.Println(value1)}value2, ok : x.(string)if ok {//未打印fmt.Println(value2)} }需要注意如果不接受第二个参数就是OK,这…

【数据结构】排序算法(下篇·开端)·深剖数据难点

前引&#xff1a;前面我们通过层层学习&#xff0c;了解了Hoare大佬的排序精髓&#xff0c;今天我们学习的东西可能稍微有点难度&#xff0c;因此我们必须学会思想&#xff0c;我很受感慨&#xff0c;借此分享一下&#xff1a;【用1520分钟去调试】&#xff0c;如果我们遇到了任…

山东大学软件学院创新项目实训开发日志(9)之测试前后端连接

在正式开始前后端功能开发前&#xff0c;在队友的帮助下&#xff0c;成功完成了前后端测试连接&#xff1a; 首先在后端编写一个测试相应程序&#xff1a; 然后在前端创建vue 并且在index.js中添加一下元素&#xff1a; 然后进行测试&#xff0c;测试成功&#xff1a; 后续可…

蓝桥杯C++组算法知识点整理 · 考前突击(上)【小白适用】

【背景说明】本文的作者是一名算法竞赛小白&#xff0c;在第一次参加蓝桥杯之前希望整理一下自己会了哪些算法&#xff0c;于是有了本文的诞生。分享在这里也希望与众多学子共勉。如果时间允许的话&#xff0c;这一系列会分为上中下三部分和大家见面&#xff0c;祝大家竞赛顺利…

springboot调用python文件,python文件使用其他dat文件,适配windows和linux,以及docker环境的方案

介绍 后台是用springboot技术&#xff0c;其他同事做的算法是python&#xff0c;现在的需求是springboot调用python&#xff0c;python又需要调用其他的数据文件&#xff0c;比如dat文件&#xff0c;这个文件是app通过蓝牙获取智能戒指数据以后&#xff0c;保存到后台&#xf…

GSO-YOLO:基于全局稳定性优化的建筑工地目标检测算法解析

论文地址:https://arxiv.org/pdf/2407.00906 1. 论文概述 《GSO-YOLO: Global Stability Optimization YOLO for Construction Site Detection》提出了一种针对建筑工地复杂场景优化的目标检测模型。通过融合全局优化模块(GOM)​、稳定捕捉模块(SCM)​和创新的AIoU损失函…

系统思考—提升解决动态性复杂问题能力

感谢合作伙伴的信任推荐&#xff01; 客户今年的人才发展重点之一&#xff0c;是提升管理者应对动态性、复杂性问题的能力。 在深入交流后&#xff0c;系统思考作为关键能力模块&#xff0c;最终被纳入轮训项目——这不仅是一次培训合作&#xff0c;更是一场共同认知的跃迁&am…