Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Sublime Text 2[MAC OS X]上运行和编译.c_C_Macos_Gcc_Compiler Construction_Sublimetext2 - Fatal编程技术网

如何在Sublime Text 2[MAC OS X]上运行和编译.c

如何在Sublime Text 2[MAC OS X]上运行和编译.c,c,macos,gcc,compiler-construction,sublimetext2,C,Macos,Gcc,Compiler Construction,Sublimetext2,我现在在大学里学习C,老师告诉我使用代码块作为IDE,但我认为代码块有点难看,这就是为什么我选择了Sublime Text 2,这是最好的IDE/文本编辑器 目前,我通过sublime编写代码,保存代码,然后通过MacOS终端(gcc)编译代码,然后在终端上运行代码 我想知道的是,如果可能的话,是如何从sublime直接使用它的控制台或插件(或其他什么),换句话说,我想知道是否有可能编译我的.c并在sublime上只需点击几下就可以运行它。。。(目前我只是在构建控制台应用程序) 我在这里读过一些

我现在在大学里学习C,老师告诉我使用代码块作为IDE,但我认为代码块有点难看,这就是为什么我选择了Sublime Text 2,这是最好的IDE/文本编辑器

目前,我通过sublime编写代码,保存代码,然后通过MacOS终端(gcc)编译代码,然后在终端上运行代码

我想知道的是,如果可能的话,是如何从sublime直接使用它的控制台或插件(或其他什么),换句话说,我想知道是否有可能编译我的.c并在sublime上只需点击几下就可以运行它。。。(目前我只是在构建控制台应用程序)


我在这里读过一些关于这个主题的帖子,但没有一篇能帮助我解决这个问题。

一个基本的C构建文件可能是这样的:

{   
"cmd" : ["/path/to/gcc", "$file_name", "-o", "${file_base_name}", "-lgsl", "-lgslcblas", "-lm" , "-Wall"],
"selector" : "source.c",
"shell":false,
"working_dir" : "$file_path",

"variants":
    [
        {
            "name": "Run",
            "cmd": ["bash", "-c", "/path/to/gcc '${file}' -Wall -o '${file_path}/${file_base_name}' && '${file_path}/${file_base_name}'"]
        }
    ]
}
{   
"cmd" : ["/usr/bin/make"],
"selector" : "source.c",
"shell":false,
"working_dir" : "$file_path",

"variants":
    [
        {
            "name": "Run",
            "cmd": ["bash", "-c", "/usr/bin/make && '${file_path}/${file_base_name}'"]
        }
    ]
}
要编译,请按command+b

要编译然后运行,请按command+shift+b

您需要做的唯一一件事就是将路径放在您的gcc中,并包含您使用的库(我在本例中留下了一些GSL内容)。
$\u变量
是崇高的构建系统变量,不应更改。有关这些变量的详细信息

您可以将实际生成系统文件放在此处:

~/Library/Application Support/Sublime Text 2/Packages/User/C.sublime-build

我使用下面的一个.崇高构建来编译和运行C。基本上是C++代码的编辑。为我工作

{
"cmd": ["gcc", "${file}", "-o", "${file_path}/${file_base_name}"],
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"working_dir": "${file_path}",
"selector": "source.c",

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

如果您使用的是
makefile
,您可以使用如下内容:

{   
"cmd" : ["/path/to/gcc", "$file_name", "-o", "${file_base_name}", "-lgsl", "-lgslcblas", "-lm" , "-Wall"],
"selector" : "source.c",
"shell":false,
"working_dir" : "$file_path",

"variants":
    [
        {
            "name": "Run",
            "cmd": ["bash", "-c", "/path/to/gcc '${file}' -Wall -o '${file_path}/${file_base_name}' && '${file_path}/${file_base_name}'"]
        }
    ]
}
{   
"cmd" : ["/usr/bin/make"],
"selector" : "source.c",
"shell":false,
"working_dir" : "$file_path",

"variants":
    [
        {
            "name": "Run",
            "cmd": ["bash", "-c", "/usr/bin/make && '${file_path}/${file_base_name}'"]
        }
    ]
}

这可能会有帮助,所以基本上我只是用真实的路径替换'path/to/gcc',就这样了?是的,再加上指向代码可能需要的任何其他库的链接。我做了所有这些,但它给了我一个错误:“叮当声:错误:没有输入文件”,然后什么都没有发生,可能是什么?链接到实际构建文件的要点。我对此有点不懂,要点是什么?你能更精确一点,确切地告诉我该怎么做吗?