0 请确认安装了Xcode的commandLineTools
一般安装了Xcode都会有,这样你就有了clang编译器,在命令行中输入** gcc -v
** 命令,出现如下说明成功;
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/usr/include/c++/4.2.1
Apple LLVM version 8.0.0 (clang-800.0.42.1)
Target: x86_64-apple-darwin16.4.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
1 配置文件
在Sublime Text中, 点击 Tools -> Build System -> New Build System... 会弹出一个配置文件的模版将模版中的内容替换成结果:
{
// 命令和参数,未指定路径则在PATH环境变量中找
"cmd": ["gcc", "${file}", "-o", "${file_path}/${file_base_name}"],
// 可选。获取cmd的错误输出
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"working_dir": "${file_path}",
// 可选。`工具`菜单中`编译`为`自动`时生效
"selector": "source.c, source.c++",
"variants":
[
{
// 仅在"variants"中是合法的 (详见 variants)。用来标识系统中不同的构建系统。如果"name"是"Run" ,则会显示在Tools | Build System 菜单下,并且可以使用Ctrl + Shift + B调用
"name": "Run",
// 这个可以直接 编译+运行
"cmd" : ["gcc '${file}' -o '${file_path}/${file_base_name}' && '${file_path}/${file_base_name}'"],
// 可选。如果该选项为"true" ,"cmd"则可以通过shell运行。
"shell": true
}
]
// 还有:
// line_regex 可选。当"cmd"的错误输出中,file_regex与该行不匹配,如果line_regex存在,并且确实与当前行匹配, 则遍历整个缓冲区,直到与file regex匹配的行出现,并用这两个匹配决定最终要跳转的文件或行。
// target 可选。运行的Sublime Text命令,缺省为"exec" (Packages/Default/exec.py)。该命令从 .build-system中获取配置数据。用来替代缺省的构建系统命令。注意,如果你希望替代构建系统的缺省命令,请在.sublime-build 文件中专门设置。
// env 可选。在环境变量被传递给"cmd"前,将他们封装成词典。
// path 可选。该选项可以在调用"cmd"前替换当前进程的PATH 。原来的 PATH 将在运行后恢复。使用这个选项可以在不修改系统设置的前提下将目录添加到 PATH 中。
}
保存 取名
2 新建 C 文件 编译测试
#include <stdio.h>
int main(int argc, const char * argv[])
{
//打印九九乘法表
int n = 3;//9 * 9
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= i; j++) {
printf("%d * %d = %-2d ",j,i,i * j);
}
printf("\n");
}
return 0;
}
Cmd+B 编译
Cmd+Shift+B 运行输出结果
3 会发现运行不了 报错
clang: error: no input files
/bin/sh: /: is a directory
[Finished in 0.0s with exit code 126]
[cmd: ['/']]
[dir: /Users/okerivy/Desktop/workspace/C]
[path: /usr/bin:/bin:/usr/sbin:/sbin]
4 这是因为你新建的 sublime 文件没有保存!!!
保存成 test.c 再次运行
1 * 1 = 1
1 * 2 = 2 2 * 2 = 4
1 * 3 = 3 2 * 3 = 6 3 * 3 = 9
[Finished in 0.1s]
对Sublime-build中的命令还不熟悉的,请移步下面的链接:
官网的命令说明文档
非官方中文文档
其实何必折腾一下子, 用 Xcode 就直接可以编译运行 C 程序...