0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【手把手教程】使用Sublime搭建的C/Python环境

嵌入式物联网开发 来源:嵌入式物联网开发 作者:嵌入式物联网开发 2022-07-10 21:14 次阅读

【手把手教程】一文学会使用Sublime搭建轻量级的C语言gcc编译运行环境和Python运行环境(含所有配置流程及脚本)


1 功能诉求

不知道你是否也有类似的困惑:我想要C代码快速验证一段代码的功能是否正常,但是像我这样长期以Linux命令行编译C代码为主,一般的开发模式都是,都是Window下使用编辑器编辑代码,而编译是需要切换到Linux下。 虽然这也是主流的嵌入式编译流程,但是如果有一种不用切到Linux就可以完成的IDE,我想应该会提高不少工作效率。 另外,一般我们嵌入式开发中,gcc作为非常主流的C编译器,学习好它并灵活应用好它,对我们的技术提升也是帮助非常大。 所以,最好这个IDE是使用gcc来编译C代码的,而不是微软的C编译器,因为它并不是一个主流的嵌入式编译环境。 同样的,在编译Python代码的时候,也有类似的问题。不过好在Python环境,可以使用PyCharm。但这个IDE是需要另外安装的,如果我有一个IDE环境或者说是一个编辑器工具,可以同时兼顾gcc编译C代码和运行Python代码,那是不是少了一个IDE的负担,从工具的使用上,我们都是熟能生巧,越多使用同款工具,越能更快速地掌握其高效工作的方法。

2 为何选用Sublime?

以上讲了这么多,再来说说,为何我会选择Sublime作为这个编辑器的载体。

2.1 跨平台

Sublime有windows版本、Linux版本、也有MacOS版本,这些主流的平台,都可以有同样的IDE表现,这无疑减少了使用IDE的学习迁移成本。

2.2 支持N多种语言

几乎你想得到的主流编译语言,它都支持,语法高亮这种刚需,自然是必不可少。

2.3 非常轻量化

本质它就是一个编辑器,而不是一个复杂的IDE。所以它能做到非常轻量级,作为程序员,往往都喜欢这种简单高效的工具,而不喜欢类似VSxxxx那种繁琐而笨重的IDE,这也是为何一大堆程序员会非常高频使用Notepad++这种轻量化的编辑器。

2.4 非常方便建立工程项目

对比Notepad++,我认为在见工程上,Sublime绝对是甩它一条街,因为Sublime是直接把你工程代码的目录文件夹,拖拉进来,工程就生成。就好比下面的工程,mbedtls的代码:

在这里插入图片描述

2.5 丰富的插件/脚本功能

一个工具能不能高效使用的一个参考维度是,能不能提供插件化定制或脚本化定制的功能。而这一点,Sublime在设计之初就很好地考虑到了,自然支持插件化和脚本化,没有任何问题。

2.6 丰富的自定义快捷键

一个工具能不能高效使用的另一个参考维度是,能不能支持自定义快捷键?这一点,无疑是加分项,每个人都有自己熟悉的操作方式,当有了自己熟悉的快捷键,想工作效率不提高都难哦!

3 搭建C语言gcc编译运行环境

3.1 环境说明

教程的环境: PC Sublime: Windows10 Sublime v3.2.2 非注册版本 Cygwin:v9.3.0 gcc: v10.2.0

3.2 安装Sublime

你可以从Sublime的官网下载指定平台的安装包,然后按照提示安装好软件即可。 安装好软件后,在桌面可以看到Sublime的图标,这个就是它了!

sublime的图标

3.3 安装Cygwin(gcc环境)

你可以从Cygwin的下载页面,下载指定的安装包,如下所示:

cygwin下载链接

下载到setup-x86_64.exe后,双击打开,按照提示一步步安装即可,注意,所有的选择项按默认的即可。

3.4 配置Sublime支持gcc编译运行程序

3.4.1 配置gcc.sublime-build

参考下图,

build system

在Sublime的菜单栏,选择Tools -> Build System -> New Build System,这时会跳出一个新的配置文件处于编译状态,输入下面的配置代码:注意使用下面的代码替换到其所有的内容。

{
    "shell_cmd": "start cmd /k "C:\\llc\\softwares\\sublime\\sublime-auto-gcc.bat" ${file}"
}

然后点保存,把文件名命名为gcc.sublime-build,存放的路径就放在其提示存放的**默认位置即可;不能随意改动其位置,否则sublime就找不到了。

在这里插入图片描述

3.4.2 配置sublime-auto-gcc.bat

细心的朋友一定发现了,gcc.sublime-build里面用到了一个bat脚本,存放在:C:\llc\softwares\sublime\sublime-auto-gcc.bat;注意这个路径是我的存放路径,如果你的环境跟我不一样,到时记得改回你的路径。 这个sublime-auto-gcc.bat的内容如下:

@echo off

::echo %1
::echo hello world
::echo bat fie path: %~dp0

set file=%1
set gcc_path=C:\cygwin64\bin
set gcc_exe=gcc.exe
set tmp_out_exe=%file%.tmp.exe

cd %gcc_path%

echo Compiling ...
echo %gcc_exe% %file% -o %tmp_out_exe%
%gcc_exe% %file% -o %tmp_out_exe%

echo Running ... %tmp_out_exe%
echo ------------------------------------
echo=
::start cmd /k %file%.exe && pause && exit
%tmp_out_exe%
echo= 
echo ------------------------------------

::echo Deleting ... %tmp_out_exe%
del /f/s/q/a %tmp_out_exe% 

pause

exit 0

这里需要注意的就是set gcc_path=C:\cygwin64\bin这一行,记得替换成你的环境下gcc的路径。你可以搜索一下你安装完cygwin之后,gcc.exe放在哪个路径,把那个路径填进去即可。 比如我的是:

在这里插入图片描述

3.4.3 配置快捷键

如下图所示:

在这里插入图片描述

在Sublime的菜单栏Pererences -> Key Bindings,之后会跳出一个自定义快捷键的配置文件,将右侧的文件修改成以下内容:

[
    {          
     "keys": ["f10"],//这一行是自己设的快捷键,其它为复制的棕色字体部分      
      "command": "build", "args":     
       {         
             "select": true     
       }  
    },
]

如下图:

在这里插入图片描述

注意这里配置的快捷键是F10,如果你想配置成你想要的快捷键,注意不要与现有的快捷键冲突即可。 配置完之后,按下F10就可以看到脚本被调起来了。

3.4.4 实战演示

首先使用sublime编写一段简单的C代码,如下:

#include 

int main(int agrc, const char *argv[])
{    
    printf("Hello C world !\n");        
    return 0;
}

然后Ctrl+S保存为hello.c,紧接着按下F10,你就可以看到这个C代码在被gcc编译,随后自动把编译后可执行文件运行起来,输出Hello C world !

在这里插入图片描述

如果你按下F10之后,报错了,你可能需要确认下Tools -> Build System里面打勾的是不是gcc那一项,如果不是的化,你需要选择gcc,然后再重新F10,应该就可以了。

在这里插入图片描述

还有一点需要注意的是,当你按下F10的时候,一定是当前的C文件处于最前端编辑状态,不能切换到其他文件,因为这里是会把当前编辑的文件名传递给编译脚本,达到编译运行的效果的。

4 搭建Python运行环境

有了gcc的环境搭建的基础上,配置Python的运行环境就简单很多了。

4.1 环境说明

本教程的环境: PC Sublime: Windows10 Sublime v3.2.2 非注册版本 python: v3.7.8

4.2 Python环境安装

本小节可参考教程,具体的python版本可以自行选择,安装成功之后,打开cmd,输入python -v,可以看到类似的版本信息,证明你的python环境安装OK了。 注意:安装过程中,务必选择把python添加到环境变量中去,否则可能会影响脚本的正确运行。

C:\Users\redtea>python -V
Python 3.7.8

4.3 配置Sublime支持运行python程序

4.3.1 配置python.sublime-build

参考下图,

build system

在Sublime的菜单栏,选择Tools -> Build System -> New Build System,这时会跳出一个新的配置文件处于编译状态,输入下面的配置代码:注意使用下面的代码替换到其所有的内容。

{
    "shell_cmd": "start cmd /k "C:\\llc\\softwares\\sublime\\sublime-auto-python.bat" ${file}"
}

然后点保存,把文件名命名为python.sublime-build,存放的路径就放在其提示存放的默认位置即可;不能随意改动其位置,否则sublime就找不到了。

在这里插入图片描述

4.3.2 配置sublime-auto-python.bat

细心的朋友一定发现了,python.sublime-build里面用到了一个bat脚本,存放在:C:\llc\softwares\sublime\sublime-auto-python.bat;注意这个路径是我的存放路径,如果你的环境跟我不一样,到时记得改回你的路径。 这个sublime-auto-python.bat的内容如下:

@echo off

::echo %1
::echo hello world
::echo bat fie path: %~dp0

set file=%1
set python_exe=python

echo Running ... %file%
echo ------------------------------------
echo=
::start cmd /k %file%.exe && pause && exit
%python_exe% %file%
echo= 
echo ------------------------------------

pause

exit 0

4.3.3 配置快捷键

如果gcc那一步已经配置好了,本步骤可以跳过,因为他们是共有的快捷键,配置成F10就好了。

4.3.4 实战演示

首先使用sublime编写一段简单的Python代码,如下:


import os
import sys

def hello_world():
    print('Hello python world !')

if __name__ == "__main__":
    hello_world()

然后Ctrl+S保存为hello.py,紧接着按下F10,你就可以看到这个Python代码就被运行起来,输出Hello python world !

在这里插入图片描述

如果你按下F10之后,报错了:

在这里插入图片描述

你可能需要确认下Tools -> Build System里面打勾的是不是gcc那一项,如果不是的化,你需要选择python,这里需要注意大小写,我们建立的build是小写的python,然后再重新F10,应该就可以了。

在这里插入图片描述

还有一点需要注意的是,当你按下F10的时候,一定是当前的python文件处于最前端编辑状态,不能切换到其他文件,因为这里是会把当前编辑的文件名传递给运行脚本,达到运行的效果的。

5 总结

5.1 原理分析

核心流程原理就是: 新建一个build system流程, 而这个流程仅仅是把当前编辑的文件名取到, 然后传递给cmd开启的一个sublime-auto-xxx.bat脚本, 这个脚本就负责对传入的文件(C文件或python文件)做更多的处理:   — C文件的话,就调用gcc.exe先把它编译成exe,然后把exe运行起来;   — python文件的话,就调用python.exe把python文件运行起来。 同时,这里会通过Key Bindings绑定了一个快捷键,使得可以按一键就完成了所有编译运行流程,高效便捷。

5.2 更多扩展

掌握了上面的核心原理之后,你想怎么玩就怎么玩。 比如你想编译运行一个Java文件? 比如你想单独地运行一个BAT脚本? 这些都将变得so easy ! 更重要的是,由于在build system里面我建立了一个BAT脚本做跳板(就是那个sublime-auto-xxx.bat脚本),那么我理论上我是可以通过它来执行任何自动化运行的事情的! 比如我就还建立了一个rsync远程同步的功能,一键实现本地目录与远程目录完全同步,这也是非常好用的。 更多的功能,真的就取决于你的想象力!

5.3 你还不试试看?

有了这个教程,你是不是可以把windows下编辑代码-linux下命令行编译的操作流程摒弃了? 有了这个教程,你是不是应该把你的PyCharm关闭一段时间呢? 这么高效的工作方法,你都学会了吗? 欢迎交流讨论,期望你的宝贵建议。

在这里插入图片描述

6 更多分享

欢迎关注我的github仓库01workstation,日常分享一些开发笔记和项目实战,欢迎指正问题。

同时也非常欢迎关注我的专栏,有问题的话,可以跟我讨论,知无不答,谢谢大家。

原创不易_new

审核编辑 黄昊宇
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • C语言
    +关注

    关注

    180

    文章

    7598

    浏览量

    136199
  • python
    +关注

    关注

    56

    文章

    4782

    浏览量

    84453
  • 运行环境
    +关注

    关注

    0

    文章

    9

    浏览量

    7084
收藏 人收藏

    评论

    相关推荐

    详解Python虚拟环境搭建

    手把手教你搭建Python虚拟环境,还不会的同学收藏学习哦!
    发表于 03-30 13:36

    手把手教你构建一个完整的工程

    手把手教你构建一个完整的工程
    发表于 08-03 09:54 33次下载
    <b class='flag-5'>手把手</b>教你构建一个完整的工程

    手把手教你写批处理-批处理的介绍

    手把手教你写批处理-批处理的介绍
    发表于 10-25 15:02 69次下载

    美女手把手教你如何装机(上)

    美女手把手教你如何装机(上) 提到AMD,想必大家都想到C/P值超高、死忠粉丝超多的平台吧!最近一年来,在玩家的
    发表于 01-27 11:11 1597次阅读

    美女手把手教你如何装机(中)

    美女手把手教你如何装机(中) 再来是硬碟的部份,这款机壳还不错,可以旋转支架~
    发表于 01-27 11:14 1458次阅读

    美女手把手教你如何装机(下)

    美女手把手教你如何装机(下) 接著下来就是今天的重头戏,开核萝!~
    发表于 01-27 11:16 2917次阅读

    手把手教你安装Quartus II

    本章手把手把地教你如何安装 Quartus II 软件 ,并将它激活 。此外 还有USB -Blaster下载器的驱动安装步骤 。
    发表于 09-18 14:55 9次下载

    手把手教你在家搭建监控系统

    手把手教你在家搭建监控系统
    发表于 01-17 19:47 25次下载

    手把手教你如何开始DSP编程

    手把手教你如何开始DSP编程。
    发表于 04-09 11:54 12次下载
    <b class='flag-5'>手把手</b>教你如何开始DSP编程

    手把手教你学LabVIEW视觉设计

    手把手教你学LabVIEW视觉设计手把手教你学LabVIEW视觉设计手把手教你学LabVIEW视觉设计手把手教你学LabVIEW视觉设计手把手
    发表于 03-06 01:41 3108次阅读

    手把手教你开关电源PCB排板

    手把手教你开关电源PCB排板(新型电源技术)-分享一下开关电源PCB排板的基本要点及分析,以及例子讲解。绝对的手把手
    发表于 09-18 12:27 57次下载
    <b class='flag-5'>手把手</b>教你开关电源PCB排板

    51单片机手把手教学 (一)—— 开发环境搭建

    51单片机手把手教学 (一)—— 点亮第一个LED灯文章目录51单片机手把手教学 (一)—— 点亮第一个LED灯一、写在前面二、下载开发工具,烧录工具一、写在前面51单片机一般指传统8051单片机
    发表于 11-23 16:20 8次下载
    51单片机<b class='flag-5'>手把手</b>教学 (一)—— 开发<b class='flag-5'>环境</b><b class='flag-5'>搭建</b>

    《嵌入式 - STM32开发指南》手把手教你搭建STM32开发环境 [Windows版 - 3]

    《嵌入式 - STM32开发指南》手把手教你搭建STM32开发环境 [Windows版 - 1]《嵌入式 - STM32开发指南》手把手教你搭建
    发表于 12-06 09:36 0次下载
    《嵌入式 - STM32开发指南》<b class='flag-5'>手把手</b>教你<b class='flag-5'>搭建</b>STM32开发<b class='flag-5'>环境</b> [Windows版 - 3]

    《嵌入式 - STM32开发指南》手把手教你搭建STM32开发环境 [Linux版 - 3]

    《嵌入式 - STM32开发指南》手把手教你搭建STM32开发环境 [Linux版 - 1]《嵌入式 - STM32开发指南》手把手教你搭建
    发表于 12-06 09:36 0次下载
    《嵌入式 - STM32开发指南》<b class='flag-5'>手把手</b>教你<b class='flag-5'>搭建</b>STM32开发<b class='flag-5'>环境</b> [Linux版 - 3]

    手把手教你学FPGA仿真

    电子发烧友网站提供《手把手教你学FPGA仿真.pdf》资料免费下载
    发表于 10-19 09:17 2次下载
    <b class='flag-5'>手把手</b>教你学FPGA仿真