从Sublime Text 2构建后,以cmd模式运行程序

时间:2013-11-12 23:43:24

标签: c++ c mingw sublimetext2

我正在使用Sublime Text 2和MinGW作为构建系统来编译我的c ++程序。我将以下版本添加到我的Sublime中:

{
    "cmd": ["mingw32-g++.exe", "-o", "$file_base_name", "$file"],
    "path": "C:\\Program Files (x86)\\MinGWStudio\\MinGW\\bin\\"
}

现在我想运行我刚刚在cmd窗口中编译的程序(不在Sublime控制台中)我应该向该命令添加什么? 谢谢。

2 个答案:

答案 0 :(得分:7)

如下所示的构建系统将在您构建它之后在新的cmd窗口中运行您的程序:

{
    "cmd": ["mingw32-g++.exe", "-o", "$file_base_name", "$file"],
    "path": "C:\\Program Files (x86)\\MinGWStudio\\MinGW\\bin\\",

    "variants": [

        {   
            "cmd": ["start", "cmd", "/k", "$file_base_name"],
            "shell": true,
            "name": "Run"
        }
    ]
}

"Run"名称具有特殊意义,这意味着当您选择此构建系统作为默认名称时,按 Ctrl B 将编译您的程序,并且然后点击 Ctrl Shift B 将执行它。 start是开始运行单独进程的命令,cmdcmd.exe的缩写,Windows命令行程序,/k选项使得结果窗口保持打开状态程序退出,这样你就可以看到它的输出,运行其他命令,或者你有什么。

答案 1 :(得分:0)

对于那些在MacOs(High Sierra)和Sublime 2上尝试此操作的人,您可能需要考虑构建系统中的下一个字符串:

{
    "cmd": ["make", "${file_base_name}"],
    "selector" : "source.c",
    "variants": [

        {   
            "cmd": ["/Applications/vice/x64sc.app/Contents/MacOS/x64sc $file_base_name"],
            "shell": true,
            "name": "Run"
        }
    ]   
}

此示例将启动安装在其特定位置的Vice(C64仿真器),该位置将文件基名作为参数。请注意,我不使用“开始”,“cmd”或“/ k”。