如何使用 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 代码