Sublime Text 3直接编译执行C/C++程序
2016-12-18 18:59
176 查看
1 工作环境
(1)PC system:Ubuntu12.04LTS。
(2)编辑器版本:Sublime Text 3
2 实现目的
背景就是自己最近开始使用Sublime Text 3编辑代码,发现非常好用,也被它强大的插件功能所吸引。但是,自己在编辑完C/C++代码后使用sublime自带的build并不好用,于是打算自己定制一个单文件C/C++编译命令。
3 定制C编译
(1)在sublime工具栏中,选择“工具“->“编译系统“->“新建编译系统“,会打开文件名称为“Untitled.sublime-build“文件。对其进行编辑,加入下面的代码,保存为“myC.sublime-build“,路径为默认路径就可以了。
保存后,你会在sublime的“工具“->“编译系统“->“新建编译系统“下看到myC的build系统。
(2)编辑简单的C代码,进行测试
按下组合键“Ctrl“+“Shift“+“b“就会弹出编译命令选择窗口
选择“myC-Run“编译,结果就会出现在sublime下方的控制台上,如下:
4 定制C++编译
C++的过程与C一样,只是新建编译系统时的文件内容有些不同而已:
5 myC和myC-Run的区别就是myC只编译,不执行;而myC-Run,编译后直接执行。
6 解决sublime自带控制台无法输入的问题
因为sublime自带控制台无法输入,所以如果程序用到cin等函数,程序无法执行。在windows系统下需要调用cmd.exe,将控制台交于cmd,所以需要在编译配置文件时,添加调用cmd的命令。
将上面的myC++.sublime-build修改如下,
其实就是添加这么一句话,
保存后,
编写示例程序myC++_test_example.cpp。内容如下:
按下快捷键ctrl+shift+b,执行命令:
执行结果:
7 目前只支持编译单文件,其余的后续再研究吧。
(1)PC system:Ubuntu12.04LTS。
(2)编辑器版本:Sublime Text 3
2 实现目的
背景就是自己最近开始使用Sublime Text 3编辑代码,发现非常好用,也被它强大的插件功能所吸引。但是,自己在编辑完C/C++代码后使用sublime自带的build并不好用,于是打算自己定制一个单文件C/C++编译命令。
3 定制C编译
(1)在sublime工具栏中,选择“工具“->“编译系统“->“新建编译系统“,会打开文件名称为“Untitled.sublime-build“文件。对其进行编辑,加入下面的代码,保存为“myC.sublime-build“,路径为默认路径就可以了。
{ //"shell_cmd": "make" "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\" && \"${file_path}/${file_base_name}\"" } ] }
保存后,你会在sublime的“工具“->“编译系统“->“新建编译系统“下看到myC的build系统。
(2)编辑简单的C代码,进行测试
// 文件名称:test_c_build.c #include <stdio.h> int main(int argc, char const *argv[]) { printf("hello world!\n"); return 0; }
按下组合键“Ctrl“+“Shift“+“b“就会弹出编译命令选择窗口
选择“myC-Run“编译,结果就会出现在sublime下方的控制台上,如下:
4 定制C++编译
C++的过程与C一样,只是新建编译系统时的文件内容有些不同而已:
{ // "shell_cmd": "make" "encoding": "utf-8", "working_dir": "$file_path", "shell_cmd": "g++ -Wall -std=c++0x \"$file_name\" -o \"$file_base_name\"", "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$", "selector": "source.cpp", "variants": [ { "name": "Run", "shell_cmd": "g++ -Wall -std=c++0x \"$file\" -o \"$file_base_name\" && \"${file_path}/${file_base_name}\"" } ] }
5 myC和myC-Run的区别就是myC只编译,不执行;而myC-Run,编译后直接执行。
6 解决sublime自带控制台无法输入的问题
因为sublime自带控制台无法输入,所以如果程序用到cin等函数,程序无法执行。在windows系统下需要调用cmd.exe,将控制台交于cmd,所以需要在编译配置文件时,添加调用cmd的命令。
将上面的myC++.sublime-build修改如下,
{ // "shell_cmd": "make" "encoding": "utf-8", "working_dir": "$file_path", "shell_cmd": "g++ -Wall -std=c++0x \"$file_name\" -o \"$file_base_name\"", "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$", "selector": "source.cpp", "variants": [ { "name": "Run", "shell_cmd": "g++ -Wall -std=c++0x \"$file\" -o \"$file_base_name\" && \"${file_path}/${file_base_name}\"" }, { "name": "RunInCmd", "shell_cmd": "g++ -Wall -std=c++0x \"$file\" -o \"$file_base_name\" && start cmd /c \"\"${file_path}/${file_base_name}\" & pause \"" } ] }
其实就是添加这么一句话,
&& start cmd /c \"\"${file_path}/${file_base_name}\" & pause \"
保存后,
编写示例程序myC++_test_example.cpp。内容如下:
#include <iostream> #include <string.h> using namespace std; int main () { string str; cout << "please enter a string" << endl; cin >> str; cout << "input string: " << str << endl; return 0; }
按下快捷键ctrl+shift+b,执行命令:
执行结果:
7 目前只支持编译单文件,其余的后续再研究吧。
相关文章推荐
- C/C++程序编译步骤 如何生成可执行文件
- 易用的C++ RPC服务框架 - pioneer - 2 - 编译和执行演示程序
- C/C++程序从编译到最终生成可执行文件的过程分析
- 在windows直接运行Qt编译出来的可执行程序出现了如下提示错误: this application has requested the runtime to terminate it an unu
- C/C++程序编译步骤以及如何生成可执行文件
- 深度剖析一个典型的C/C++程序的编译、链接以及执行的过程
- 在windows直接运行Qt编译出来的可执行程序出现了如下提示错误: this application has requested the runtime to terminate it an unu
- 在Sublime Text 3中配置编译和运行C++程序
- 使用Sublime Text 2编译运行C/C++程序
- 在Ubuntu中使用sublime text编译并运行C/C++程序
- ubuntu中C++程序编译执行
- C/C++程序从编译到最终生成可执行文件的过程分析
- 编译ndk可执行程序 直接用cygwin编译 不用eclipse
- C/C++程序编译步骤 如何生成可执行文件
- C/C++程序编译步骤 如何生成可执行文件
- [C/C++] VC2012编译的程序在WinXP下报告“指定的可执行文件不是有效的 Win32 应用程序”错误
- 菜鸟C++精髓学习笔记--C++程序内部执行过程(预处理、编译、链接过程的作用)
- C/C++程序从编译到最终生成可执行文件的过程分析
- C/C++程序编译步骤 如何生成可执行文件
- C/C++程序从编译到最终生成可执行文件的过程分析