我想在Sublime Text 3中编译C程序,然后在OS X上的终端(通过Sublime Text打开)中运行它优胜美地。我的建立系统是:Sublime Text 3在OS X上编译并运行(在终端中)使用传递参数的OS X上的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}'"]
}
]
}
当我建立,例如,test.c
,它编译好。当我运行程序时,我得到这个:bash: line 1: 916 Segmentation fault: 11
。我确定这是因为我的程序需要传递给它的参数。
所以我有两个问题:
我怎样才能改变构建系统,这样,当我运行它,它开辟了终端,并在那里运行?
如何在运行之前将参数传递给程序?例如,在Linux上,我会输入
./test hello 20932aa
,它会正常运行。如何在崇高文本3(OS X优胜美地)上实现同样的效果。
OS X也有终端。如果你愿意,你可以使用它。 – dietbacon
是的,我知道,但我希望Sublime Text在构建代码时将其打开。这是我不得不做的一个额外步骤。 –
我不知道你是否可以在每次运行中传递一个不同的参数,但是在与上面相同的构建文件中,可以指定一个参数,例如“在最后一行(最后一个cmd)中可以编写:”cmd “:[”bash“,”-c“,”gcc'$ {file}'-o'$ {file_path}/$ {file_base_name}'&&'$ {file_path}/$ {file_base_name} hello 20932aa'“]。 –