如何用 Sublime Text 实现C/C++代码的编译运行

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用 Sublime Text 实现C/C++代码的编译运行相关的知识,希望对你有一定的参考价值。

安装Sublime Text3编辑器
Windows下有安装版和便携版之分,这里建议大家使用安装版。安装的过程十分简单,只需一路next,最后finish即可。由于编辑器原生对中文支持不佳,需要安装编码插件进行改善
下载并解压缩,将得到的ConvertToUTF8-master文件夹更名为ConvertToUTF8,复制到编辑器的自定义封装包目录中
即编辑器Preferences/BrowesPackages...菜单项打开的目录。
获取VC编译器中的定义及库文件:
很多时候,我们仅仅是为了编译某个小程序,完全没有必要安装Visual Studio那样的大块头。因此,网上就有人从中提取出了VC编译器。
下载并解压缩,将得到的VC2008文件夹复制到Sublime Text3编辑器的安装目录中。该目录的一般路径为:
D:\ProgramFiles\Sublime Text 3。

编写批处理文件:
编写一个执行编译、连接命令的批处理文件,保存到VC编译器的目录中。该目录一般为:
D:\ProgramFiles\Sublime Text 3\ VC2008。
该批处理文件的内容如下:
@echo off
rem 请根据 VC2008文件夹的目录修改下面的 VC_Dir 环境变量!
set VC_Dir=D:\ProgramFiles\Sublime Text 3\VC2008
set include=^
%VC_Dir%\include;^
%VC_Dir%\PlatformSDK\Include;^
%VC_Dir%\atlmfc\include;^
%include%
set lib=^
%VC_Dir%\lib;^
%VC_Dir%\PlatformSDK\Lib;^
%VC_Dir%\atlmfc\lib;^
%lib%
set path=^
%VC_Dir%\bin;^
%PATH%
set VC_Dir=
echo on
@nmake
由于这里使用nmake工具执行编译命令,因此需要为你的每个工程建立一个Makefile文件。关于Makefile文件的资料,可以参考罗云彬大哥的《Windows环境下32位汇编语言程序设计》一书中的示例。随后会发搭建32位汇编语言环境的方法。事实上C语言版本就是它的衍生品,使用Sublime Text3要比罗哥推荐的EditPlus编辑器漂亮和好用很多。

配置Sublime Text 3编译系统
创建一个名为C++.sublime-build的文件,复制到编辑器的用户自定义配置文件夹内,该目录一般为:
C:\Users\用户名\AppData\Roaming\SublimeText 3\Packages\User
即编辑器Preferences/BrowesPackages...菜单打开的目录下的User文件夹中,如果此文件夹不存在,可以自行创建。根据批处理文件所在目录修改C++.sublime-build文件中的cmd路径,本例中为:
D:\\ProgramFiles\\Sublime Text 3\\VC2008\\000MyBuildVC2008.bat。
注意路径中使用的是双斜杠。
C++.sublime-build文件的内容如下:

// 请根据你的批处理文件所在目录修改下面的路径:
"cmd" :["D:\\Program Files\\Sublime Text 3\\VC2008\\000MyBuildVC2008.bat","/Fo$file_base_name", "/O2", "$file"],
"file_regex" :"^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"working_dir" : "$file_path",
"selector" :"source.c, source.c++",
"encoding" :"cp936",
"variants" :
[

"name" : "Run",
"cmd" : ["CMD", "/U","/C", "CL /Fo$file_base_name /O2 $file &&$file_base_name"]

]
参考技术A 安装Sublime Text3编辑器
Windows下有安装版和便携版之分,这里建议大家使用安装版。安装的过程十分简单,只需一路next,最后finish即可。由于编辑器原生对中文支持不佳,需要安装编码插件进行改善
下载并解压缩,将得到的ConvertToUTF8-master文件夹更名为ConvertToUTF8,复制到编辑器的自定义封装包目录中
即编辑器Preferences/BrowesPackages...菜单项打开的目录。
获取VC编译器中的定义及库文件:
很多时候,我们仅仅是为了编译某个小程序,完全没有必要安装Visual Studio那样的大块头。因此,网上就有人从中提取出了VC编译器。
下载并解压缩,将得到的VC2008文件夹复制到Sublime Text3编辑器的安装目录中。该目录的一般路径为:
D:\ProgramFiles\Sublime Text 3。

编写批处理文件:
编写一个执行编译、连接命令的批处理文件,保存到VC编译器的目录中。该目录一般为:
D:\ProgramFiles\Sublime Text 3\ VC2008。
该批处理文件的内容如下:
@echo off
rem 请根据 VC2008文件夹的目录修改下面的 VC_Dir 环境变量!
set VC_Dir=D:\ProgramFiles\Sublime Text 3\VC2008
set include=^
%VC_Dir%\include;^
%VC_Dir%\PlatformSDK\Include;^
%VC_Dir%\atlmfc\include;^
%include%
set lib=^
%VC_Dir%\lib;^
%VC_Dir%\PlatformSDK\Lib;^
%VC_Dir%\atlmfc\lib;^
%lib%
set path=^
%VC_Dir%\bin;^
%PATH%
set VC_Dir=
echo on
@nmake
由于这里使用nmake工具执行编译命令,因此需要为你的每个工程建立一个Makefile文件。关于Makefile文件的资料,可以参考罗云彬大哥的《Windows环境下32位汇编语言程序设计》一书中的示例。随后会发搭建32位汇编语言环境的方法。事实上C语言版本就是它的衍生品,使用Sublime Text3要比罗哥推荐的EditPlus编辑器漂亮和好用很多。

配置Sublime Text 3编译系统
创建一个名为C++.sublime-build的文件,复制到编辑器的用户自定义配置文件夹内,该目录一般为:
C:\Users\用户名\AppData\Roaming\SublimeText 3\Packages\User
即编辑器Preferences/BrowesPackages...菜单打开的目录下的User文件夹中,如果此文件夹不存在,可以自行创建。根据批处理文件所在目录修改C++.sublime-build文件中的cmd路径,本例中为:
D:\\ProgramFiles\\Sublime Text 3\\VC2008\\000MyBuildVC2008.bat。
注意路径中使用的是双斜杠。
C++.sublime-build文件的内容如下:

// 请根据你的批处理文件所在目录修改下面的路径:
"cmd" :["D:\\Program Files\\Sublime Text 3\\VC2008\\000MyBuildVC2008.bat","/Fo$file_base_name", "/O2", "$file"],
"file_regex" :"^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"working_dir" : "$file_path",
"selector" :"source.c, source.c++",
"encoding" :"cp936",
"variants" :
[

"name" : "Run",
"cmd" : ["CMD", "/U","/C", "CL /Fo$file_base_name /O2 $file &&$file_base_name"]

]
本回答被提问者采纳

如何用cmd通过sublime打开文件?

sublime 提供了专门的命令工具subl.exe,就在它的安装目录之下,讲安装目录配置到系统环境变量中就OK了。具体如下:

1、找到sublime安装路径

如我的默认路径:C:\\Program Files\\Sublime Text 3

2、配置环境变量

计算机->属性->高级系统设置  

 

 3、进入cmd

$ subl xxx  (xxx为想在sublime打开的文件,如test.js)

  

以上是关于如何用 Sublime Text 实现C/C++代码的编译运行的主要内容,如果未能解决你的问题,请参考以下文章

sublime中如何用less实现css预编译

如何用cmd通过sublime打开文件?

Sublime3如何用快捷键实现字母的大小写转换

怎样让sublime text3运行c/c++代码

如何用c/c++获取cpu利用率 和 内存利用率

如何用C/C++编程,获取网络接口数据?