美文网首页
在Mac下用Sublime Text3 架设C开发环境和报错分析

在Mac下用Sublime Text3 架设C开发环境和报错分析

作者: okerivy | 来源:发表于2017-02-27 18:27 被阅读470次

    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 程序...

    相关文章

      网友评论

          本文标题:在Mac下用Sublime Text3 架设C开发环境和报错分析

          本文链接:https://www.haomeiwen.com/subject/ycvzwttx.html