Sublime Text 3直接编译执行C/C++程序

原创 2016年12月18日 18:59:39

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“,路径为默认路径就可以了。

{
    //"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 目前只支持编译单文件,其余的后续再研究吧。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

使用sublime编译运行C程序

1、打开sublime,找到顶部工具(Tool)菜单->编译系统(Build System)->新编译系统(New Build System);2、将一下代码输入到出现的新的窗口中{ "working...

如何让sublime编译和运行c和c++代码

轻巧便捷的sublime text 3代码编辑功能非常强大,并且很漂亮啊有木有!!!!以前我会在安装了CodeBlocks这样的编译器的基础上,再安装一个NotePad,作为编辑器。因为编辑器类似于记...

将Sublime Text 3 打造成 C/C++编译器

本文介绍Sublime Text 3的C/C++开发环境搭建,包括MinGW的安装,gcc运行c语言,g++运行c++语言,在sublime中运行以及在cmd中运行的方法。 安装MinGW Min...

Sublime Text2 编译和运行C/C++程序(windows)

Sublime Text2 编译和运行C/C++程序(windows) Sublime Text2的高亮显示代码,非常好用,界面也非常漂亮,Sublime Text2工具栏有编译项,所以想让它来编译...

让你的sublime text能写C代码 (sublime text 2 配置构建C开发环境)

原理 1. 首先你要配置可以编译C++/C环境2. window中配置该运行环境的环境变量,可以全局使用3. sublime Text创建新的构建机制,并设置用改全局编译环境 详细过程 可以编译C...
  • Monkind
  • Monkind
  • 2014年11月18日 13:02
  • 4616

Windows下使用Sublime Text 3调试/运行 C/C++ 程序

系统:Windows 8.1 64bit 软件:Sublime Text 3 Build3065 x86 编译软件:MinGW 1.   下载SublimeText 3 2.   我用的是流风清音修改...
  • fayecy
  • fayecy
  • 2014年12月23日 23:36
  • 7957

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

sublime text 3配置c/c++编译环境

本文介绍sublime text 3的c/c++开发环境搭建,包括MinGW的安装,gcc运行c语言,g++运行c++语言,在sublime中运行以及在cmd中运行的方法。另外对于MinGW和gcc,...

Sublime Text 3下C/C++开发环境搭建

Sublime Text 3下C/C++开发环境搭建之前在Linux Mint 17一周使用体验中简单介绍过Sublime Text。1.Sublime Text 3安装Ubuntu、Linux Mi...
  • dc_726
  • dc_726
  • 2015年05月15日 21:32
  • 92823

sublime text 3配置c/c++编译环境

本文介绍sublime text 3的c/c++开发环境搭建,包括MinGW的安装,gcc运行c语言,g++运行c++语言,在sublime中运行以及在cmd中运行的方法。另外对于MinGW和gcc,...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Sublime Text 3直接编译执行C/C++程序
举报原因:
原因补充:

(最多只允许输入30个字)