Я пытаюсь скомпилировать C-программу в Sublime Text 3, затем запустить ее в терминале (который открывается через Sublime Text) в OS X Yosemite. Моя система сборки:Sublime Text 3 скомпилировать и запустить (в терминале) C на OS X с переданными аргументами
{
"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
, и он будет работать нормально. Как я могу достичь этого в Sublime Text 3 (OS X Yosemite).
OS X также есть терминал. Вы можете использовать это, если хотите. – dietbacon
Да, я знаю, но я хочу, чтобы Sublime Text открывал его, когда я создаю код. Это еще один шаг, который мне нужно будет сделать. –
Я не знаю, можете ли вы передать другой аргумент в каждом прогоне, но в том же файле сборки, что и выше, вы можете указать аргумент, как пример «в последней строке (последний cmd), которую вы можете написать:« cmd ": [" bash "," -c "," gcc '$ {file}' -o '$ {file_path}/$ {file_base_name}' && '$ {file_path}/$ {file_base_name} hello 20932aa' "]. –