0 請確認(rèn)安裝了Xcode的commandLineTools
一般安裝了Xcode都會(huì)有宫屠,這樣你就有了clang編譯器,在命令行中輸入** gcc -v
** 命令滑蚯,出現(xiàn)如下說明成功浪蹂;
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中, 點(diǎn)擊 Tools -> Build System -> New Build System... 會(huì)彈出一個(gè)配置文件的模版將模版中的內(nèi)容替換成結(jié)果:
{
// 命令和參數(shù),未指定路徑則在PATH環(huán)境變量中找
"cmd": ["gcc", "${file}", "-o", "${file_path}/${file_base_name}"],
// 可選告材。獲取cmd的錯(cuò)誤輸出
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"working_dir": "${file_path}",
// 可選坤次。`工具`菜單中`編譯`為`自動(dòng)`時(shí)生效
"selector": "source.c, source.c++",
"variants":
[
{
// 僅在"variants"中是合法的 (詳見 variants)。用來標(biāo)識系統(tǒng)中不同的構(gòu)建系統(tǒng)斥赋。如果"name"是"Run" ,則會(huì)顯示在Tools | Build System 菜單下缰猴,并且可以使用Ctrl + Shift + B調(diào)用
"name": "Run",
// 這個(gè)可以直接 編譯+運(yùn)行
"cmd" : ["gcc '${file}' -o '${file_path}/${file_base_name}' && '${file_path}/${file_base_name}'"],
// 可選。如果該選項(xiàng)為"true" 疤剑,"cmd"則可以通過shell運(yùn)行滑绒。
"shell": true
}
]
// 還有:
// line_regex 可選胰舆。當(dāng)"cmd"的錯(cuò)誤輸出中,file_regex與該行不匹配蹬挤,如果line_regex存在,并且確實(shí)與當(dāng)前行匹配棘幸, 則遍歷整個(gè)緩沖區(qū)焰扳,直到與file regex匹配的行出現(xiàn),并用這兩個(gè)匹配決定最終要跳轉(zhuǎn)的文件或行误续。
// target 可選吨悍。運(yùn)行的Sublime Text命令,缺省為"exec" (Packages/Default/exec.py)蹋嵌。該命令從 .build-system中獲取配置數(shù)據(jù)育瓜。用來替代缺省的構(gòu)建系統(tǒng)命令。注意栽烂,如果你希望替代構(gòu)建系統(tǒng)的缺省命令躏仇,請?jiān)?sublime-build 文件中專門設(shè)置。
// env 可選腺办。在環(huán)境變量被傳遞給"cmd"前焰手,將他們封裝成詞典。
// path 可選怀喉。該選項(xiàng)可以在調(diào)用"cmd"前替換當(dāng)前進(jìn)程的PATH 书妻。原來的 PATH 將在運(yùn)行后恢復(fù)。使用這個(gè)選項(xiàng)可以在不修改系統(tǒng)設(shè)置的前提下將目錄添加到 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 運(yùn)行輸出結(jié)果
3 會(huì)發(fā)現(xiàn)運(yùn)行不了 報(bào)錯(cuò)
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 這是因?yàn)槟阈陆ǖ?sublime 文件沒有保存!!!
保存成 test.c 再次運(yùn)行
1 * 1 = 1
1 * 2 = 2 2 * 2 = 4
1 * 3 = 3 2 * 3 = 6 3 * 3 = 9
[Finished in 0.1s]
對Sublime-build中的命令還不熟悉的躲履,請移步下面的鏈接:
官網(wǎng)的命令說明文檔
非官方中文文檔
其實(shí)何必折騰一下子, 用 Xcode 就直接可以編譯運(yùn)行 C 程序...