怎么利用sublime配置,gcc编译

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么利用sublime配置,gcc编译相关的知识,希望对你有一定的参考价值。

参考技术A 首先在你的电脑上安装gcc或minGW编译器 配置好c语言编译器的环境变量后,在sublime里新建c编译环境 参考技术B 安装MinGW
从下面链接下载安装包
链接: http://pan.baidu.com/s/1YEIB0 密码: y893
安装包为7Z压缩文件 ,双击安装包 ,选择输出目录为C盘根目录 ,即C:\

2
配置环境变量
将下面代码复制,粘贴到新建文本文档中,保存为 " 添加环境变量 .bat " ,右键以管理员身份运行.

wmic ENVIRONMENT where "name='path' and username='<system>'" set VariableValue="%path%;C:\MinGW\bin"

wmic ENVIRONMENT create name="LIBRARY_PATH",username="<system>",VariableValue="C:\MinGW\lib"

wmic ENVIRONMENT create name="C_INCLUDEDE_PATH",username="<system>",VariableValue="C:\MinGW\include"
3
安装Sublime Text
从下面链接下载安装包
链接: http://pan.baidu.com/s/1sk2CqG9 密码: x9rs
安装包为便携版免安装版 ,直接解压即可
建议将解压后文件夹放在固定位置 ,将主程序的快捷方式复制到桌面上或固定在任务栏

新建C语言编译系统
选择tool –> Build System –> New Build System

然后输入以下代码


"working_dir": "$file_path",
"cmd": "gcc -Wall \"$file_name\" -o \"$file_base_name\"",
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"selector": "source.c",

"variants":
[

"name": "Run",
"shell_cmd": "gcc -Wall \"$file\" -o \"$file_base_name\" && start cmd /c \"$file_path/$file_base_name & pause\""

]


按Ctrl+s保存,会自动打开user目录(Sublime Text 3\Packages\User),我们修改 文件名为 c.sublime-build,保存在此目录。

这时候,可以在Tools -> Build System下看到刚才新建的c了
选中后就可以使用了。

选中后就可以使用了。
Build System中除了选择具体的编译系统,还可以选择第一个:Automatic 自动选择,会根据打开的文件后缀自动选择。由于默认情况下.c文件sublime识别为c++类型,所以使用自动选择的时候还需要修改一点:
先用sublime打开.c文件的时候 默认是c++格式

点击红色箭头处的c++ 选择Open all with current extension as .. 然后选择C

这样以后打开.c文件就默认是c类型
这时候按Ctrl+Shift+B

第三个就是编译
第四个就是编译并运行
新建C++编译系统
方法和上面的c语言的配置一样,只要把配置文件中的gcc改为g++ ,source.c改为source.c++ ,保存文件名c.sublime-build改为c++.sublime-build就可以了。

代码如下


"encoding": "utf-8",
"working_dir": "$file_path",
"shell_cmd": "g++ -Wall -std=c++11 \"$file_name\" -o \"$file_base_name\"",
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"selector": "source.c++",

"variants":
[

"name": "Run",
"shell_cmd": "g++ -Wall -std=c++11 \"$file\" -o \"$file_base_name\" && start cmd /c \"$file_path/$file_base_name & pause\""

]

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

一、功能诉求

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

二、为何选用Sublime?

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

1. 跨平台

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

2. 支持N多种语言

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

3. 非常轻量化

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

4. 非常方便建立工程项目

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

5. 丰富的插件/脚本功能

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

6. 丰富的自定义快捷键

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

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

1. 环境说明

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

2. 安装Sublime

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

3. 安装Cygwin(gcc环境)

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

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

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

4.1 配置gcc.sublime-build

参考下图,

在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就找不到了。

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放在哪个路径,把那个路径填进去即可。
比如我的是:

4.3 配置快捷键

如下图所示:

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

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

如下图:

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

4.4 实战演示

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

#include <stdio.h>

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文件处于最前端编辑状态,不能切换到其他文件,因为这里是会把当前编辑的文件名传递给编译脚本,达到编译运行的效果的。

四、搭建Python运行环境

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

1. 环境说明

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

2. Python环境安装

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

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

3. 配置Sublime支持运行python程序

3.1 配置python.sublime-build

参考下图,

在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就找不到了。

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

3.3 配置快捷键

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

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文件处于最前端编辑状态,不能切换到其他文件,因为这里是会把当前编辑的文件名传递给运行脚本,达到运行的效果的。

五、总结

1. 原理分析

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

2. 更多扩展

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

3. 你还不试试看?

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

以上是关于怎么利用sublime配置,gcc编译的主要内容,如果未能解决你的问题,请参考以下文章

怎么在Ubuntu环境下配置sublime text的C编译环境

Windows Sublime Text 配置Linux子系统(WSL)下的 gcc/g++ 编译环境

arm-linux-gcc怎么编译自己写的头文件

Sublime使用及配置C编译器

ubuntu怎么安装gcc编译器

ubuntu系统下怎么安装gcc编译器