Я хочу скомпилировать простую программу C с GCC. Что мне нужно для создания файла Sublime-build?Как скомпилировать и запустить простую программу C с Sublime Text 2?
ответ
Mac OS X:
{
"cmd" : ["gcc", "$file_name", "-o", "${file_base_name}"],
"selector" : "source.c",
"shell":true,
"working_dir" : "$file_path"
}
Окно:
{
"cmd" : ["gcc", "$file_name", "-o", "${file_base_name}.exe"],
"selector" : "source.c",
"shell":true,
"working_dir" : "$file_path"
}
@ Майкл Энтони, спасибо за хедз-ап re: Windows и добавление «.exe» – username
Вот что мне нужно, спасибо. – lokson
Как вводить значения во время выполнения? Я имею в виду, если мы будем использовать 'scanf()', как ввести значение для этой команды во время выполнения из возвышенного текста? – Greenhorn
Принятый ответ не работает для меня.
То, что я сделал следующий:
{
"cmd" : ["make $file_base_name && ./$file_base_name"],
"selector" : "source.c",
"shell": true,
"working_dir" : "$file_path",
}
Установка shell
в true
означает, что он читает cmd
как одна строка с, поэтому я призываю сделать, чтобы скомпилировать, а затем запустить скрипт. Другой вариант - установить shell
на false
, но вы не сможете запустить несколько cmd
. Таким образом, единственный способ, которым я получил его на работу было иметь это сделать файл с CMD + B
, а затем запустить его с CMD + Shift + B
:
{
"cmd" : ["make", "$file_base_name"],
"selector" : "source.c",
"shell": false,
"working_dir" : "$file_path",
"variants": [
{
"cmd" : ["./$file_base_name"],
"name": "Run"
}
]
}
В окнах, скомпилировать и запустить с file_regex
{
"cmd": ["gcc", "$file_name", "-o", "${file_base_name}.exe", "&&", "${file_base_name}.exe"],
"file_regex": "^([^:]+):([0-9]+):",
"selector": "source.c",
"shell": true,
"working_dir": "$file_path"
}
для Mac
{
"cmd": ["bash", "-c", "g++ '${file}' -o '${file_path}/${file_base_name}' && osascript -e 'tell application \"Terminal\" to activate do script \"clear&&${file_path}/${file_base_name} && read -p \\\"Press Enter to exit.\\\"&&exit\"'"],
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"working_dir": "${file_path}",
"selector": "source.c, source.c++",
"variants":
[
{
"name": "Run",
"cmd": ["bash", "-c", "g++ '${file}' -o '${file_path}/${file_base_name}' && '${file_path}/${file_base_name}'"]
}
]
}
Для окон
{
"cmd": ["g++", "${file}", "-o","${file_path}/${file_base_name}"],
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:?(.*)$",
"working_dir": "${file_path}",
"encoding":"cp936",
"selector": "source.c",
"variants":
[
{
"name": "Run",
"cmd": ["cmd","/C","start","cmd","/c", "${file_path}/${file_base_name}.exe &pause"]
}
]
}
конфигурационные файлы выше, делают вам входные данные в терминале (Mac) или ЦМД (Windows), выход также был показан в терминале или ЦМД.
LINUX! СОСТАВЛЕНИЕ И ОБКАТКИ ТЕРМИНАЛ ЯЗЫК C
Создание новой сборки системы и вставьте этот код:
{
"cmd": ["xterm-256color -e 'zsh -c \"gcc $file_name -o ${file_base_name} && ./${file_base_name} ;echo;echo Presiona ENTER para salir...; read line\"'"],
"selector" : "source.c",
"shell": true
}
echo $SHELL = To know which shell you use (zsh)-------------------------------------------------------------echo $TERM = To know which terminal you use (xterm-256color)-------------------------------------------
: D
Уже выяснили, как это сделать, но я не смог найти правильный ответ для этого в другом месте (а не для Mac в любом случае), я думал, что разместил его здесь. – username
также см. Http://stackoverflow.com/questions/16490889/build-and-run-with-arguments-in-sublime-text-2 для того, как это сделать с динамическими аргументами (см. Плагин InputArgs) –