ubuntu18.04下Sublime配置C语言编译环境

Sublime编写C语言时,存在scanf函数无法输入的问题,这个问题的解决方案一般是选择在终端运行程序,但是网上的一些配置有些没有解决这个问题,有些会存在一些问题。比如程序修改后,终端显示结果仍为修改前的结果,(猜测是编译的问题);或者每次显示完结果之后,并不能自动退出终端。

我想要的效果是:不包含scanf时,在sublime控制台输出;包含scanf时,在终端输出结果,敲回车后自动退出。

下面是配置的json文件:

{
    "cmd": ["g++ ${file} -o ${file_base_name}"], 
    "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
    "working_dir": "${file_path}",
    "selector": "source.c, source.c++",
    "shell": true,
    "variants":
    [
        {
            "name": "Run",
            //"cmd": ["${file_path}/${file_base_name}"]
            "shell_cmd": "gcc \"${file}\" -o \"${file_path}/${file_base_name}\" -Wformat=2 && \"${file_path}/${file_base_name}\""
        },
        {
            "name": "RunInShell",
            // "cmd": ["gnome-terminal -- bash -c '${file_path}/${file_base_name};read' "]
            "cmd": ["gnome-terminal -- bash -c \"gcc ${file} -o ${file_path}/${file_base_name} -lm -Wall; ./${file_base_name};read \""]
            // "cmd": ["gnome-terminal -- bash -c \"g++ ${file} -o ${file_base_name} -lm -Wall; ./${file_base_name}; exec bash\""]
        }
    ]
}

无scanf时,选择Run编译;含有scanf时,选择RunInShell编译。


运行效果图1
运行效果图2

修改程序后,再次编译输出结果跟随改变。


运行效果图3
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容