如何使用 Sublime Text 2 编译和运行一个简单的 C 程序?

Posted

技术标签:

【中文标题】如何使用 Sublime Text 2 编译和运行一个简单的 C 程序?【英文标题】:How to compile and run a simple C program with Sublime Text 2? 【发布时间】:2012-04-21 00:25:14 【问题描述】:

我想用 GCC 编译一个简单的 C 程序。我需要在 sublime-build 文件中添加什么?

【问题讨论】:

已经想出了如何做到这一点,但由于我在其他地方找不到正确的答案(无论如何都不适用于 Mac),我想我会在这里发布。 另请参阅***.com/questions/16490889/…,了解如何使用动态参数执行此操作(请参阅插件 InputArgs) 【参考方案1】:

Mac OS X:


"cmd" : ["gcc", "$file_name", "-o", "$file_base_name"],
"selector" : "source.c",
"shell":true,
"working_dir" : "$file_path"

窗户:


"cmd" : ["gcc", "$file_name", "-o", "$file_base_name.exe"],
"selector" : "source.c",
"shell":true,
"working_dir" : "$file_path"

【讨论】:

@Michael Anthony,感谢您的提醒:Windows 并添加“.exe” 如何在运行时输入值?我的意思是如果我们使用scanf( ),如何在运行时从崇高文本中输入该指令的值? 如果它让未来的编码人员有些头疼,我只想指出,您应该通过转到工具 > 构建系统 > 新构建系统而不是首选项配置将其放在构建系统配置文件中文件(首选项 > 设置 - 更多 > 特定语法)。 就我个人而言,我在我的 Mac 上得到 clang: error: no input files,而在我的控制台中运行 gcc test.c -o test 是有效的。 @bafromca 我遇到了同样的问题 - 如果我修改它看起来像 Scott Fister 的答案,其中第一个命令是单个字符串,它似乎可以工作:"cmd": "gcc $file_name -o $file_base_name"【参考方案2】:

接受的答案对我不起作用。

我所做的如下:


  "cmd" : ["make $file_base_name && ./$file_base_name"],
  "selector" : "source.c",
  "shell": true,
  "working_dir" : "$file_path",

shell设置为true意味着它将cmd读为一行,所以我调用make编译然后运行脚本。另一种选择是将shell 设置为false,但您无法运行多个cmd。所以我让它工作的唯一方法是让它用CMD + B创建文件,然后用CMD + Shift + B运行它:


  "cmd" : ["make", "$file_base_name"],
  "selector" : "source.c",
  "shell": false,
  "working_dir" : "$file_path",

  "variants": [
    
      "cmd" : ["./$file_base_name"],
      "name": "Run"
    
  ]

【讨论】:

【参考方案3】:

在 windows 中,使用 file_regex 编译并运行


    "cmd": ["gcc", "$file_name", "-o", "$file_base_name.exe", "&&", "$file_base_name.exe"],
    "file_regex": "^([^:]+):([0-9]+):",
    "selector": "source.c",
    "shell": true,
    "working_dir": "$file_path"

【讨论】:

【参考方案4】:

对于 Mac


"cmd": ["bash", "-c", "g++ '$file' -o '$file_path/$file_base_name' && osascript -e 'tell application \"Terminal\" to activate do script \"clear&&$file_path/$file_base_name && read -p \\\"Press Enter to exit.\\\"&&exit\"'"],
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"working_dir": "$file_path",
"selector": "source.c, source.c++",

"variants":
[
    
        "name": "Run",
        "cmd": ["bash", "-c", "g++ '$file' -o '$file_path/$file_base_name' && '$file_path/$file_base_name'"]
    
]

对于窗户


"cmd": ["g++", "$file", "-o","$file_path/$file_base_name"],
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:?(.*)$",
"working_dir": "$file_path",
"encoding":"cp936",
"selector": "source.c",
"variants":
[
    
    "name": "Run",
    "cmd": ["cmd","/C","start","cmd","/c", "$file_path/$file_base_name.exe &pause"]
    
]

上面的配置文件让你在终端(Mac)或cmd(windows)中输入数据,输出也显示在终端或cmd中。

【讨论】:

【参考方案5】:

Linux!在终端编译和运行,语言 C 创建一个新的构建系统并粘贴此代码:


"cmd": ["xterm-256color -e 'zsh -c \"gcc $file_name -o $file_base_name && ./$file_base_name ;echo;echo Presiona ENTER para salir...; read line\"'"],
"selector" : "source.c",
"shell": true

echo $SHELL = 知道你使用哪个 shell (zsh)---------------------------------- ---------------------------echo $TERM = 知道你使用哪个终端 (xterm-256color)-------- ----------------------------------

:D

【讨论】:

以上是关于如何使用 Sublime Text 2 编译和运行一个简单的 C 程序?的主要内容,如果未能解决你的问题,请参考以下文章

如何在Sublime Text 2,Windows 8中构建和运行c ++程序?

在 Sublime Text 2 中编译和运行 Java 代码

sublime text 2编译运行C语言

如何在 sublime text 中以当前文件目录打开 cmd

sublime text 设置编译运行java

sublime text 2 基于 MinGW 的 C/C++ 配置文件