Chcę skompilować prosty program C z GCC. Co muszę umieścić w pliku sublime-build, aby to zrobić?Jak skompilować i uruchomić prosty program C z Sublime Text 2?
Odpowiedz
Mac OS X:
{
"cmd" : ["gcc", "$file_name", "-o", "${file_base_name}"],
"selector" : "source.c",
"shell":true,
"working_dir" : "$file_path"
}
Windows:
{
"cmd" : ["gcc", "$file_name", "-o", "${file_base_name}.exe"],
"selector" : "source.c",
"shell":true,
"working_dir" : "$file_path"
}
@ Michael Anthony, dzięki za heads-up ponownie: Windows i dodanie ".exe" – username
Po prostu to mi potrzebne, dziękuję. – lokson
Jak wprowadzić wartości w czasie wykonywania? Mam na myśli, jeśli używamy 'scanf()', jak wprowadzić wartość dla tej instrukcji podczas wykonywania z wysublimowanego tekstu? – Greenhorn
Przyjęte rozwiązanie nie działa dla mnie.
Co zrobiłem jest następujący:
{
"cmd" : ["make $file_base_name && ./$file_base_name"],
"selector" : "source.c",
"shell": true,
"working_dir" : "$file_path",
}
Ustawianie shell
do true
Oznacza to czyta cmd
jako jeden wiersz, więc wzywam zrobić, aby skompilować i uruchomić skrypt. Inną opcją jest ustawienie shell
na false
, ale nie możesz uruchomić wielu cmd
. Więc jedynym sposobem mam go do pracy było mieć to zrobić plik z CMD + B
a następnie uruchomić go z CMD + Shift + B
:
{
"cmd" : ["make", "$file_base_name"],
"selector" : "source.c",
"shell": false,
"working_dir" : "$file_path",
"variants": [
{
"cmd" : ["./$file_base_name"],
"name": "Run"
}
]
}
W oknach, skompilować i uruchomić z 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"
}
dla 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}'"]
}
]
}
Do okien
{
"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"]
}
]
}
Pliki konfiguracyjne powyżej sprawi wejściowych danych w terminalu (Mac) lub cmd (Windows), wyjście również został pokazany w terminalu lub cmd.
Linux! Skompilowanie i uruchomienie w terminalu, język C
Tworzenie nowego systemu budowania i wklej ten kod:
{
"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
już zorientowali się, jak to zrobić, ale nie mogłem znaleźć właściwą odpowiedź dla tego gdzie indziej (nie dla Maca tak czy inaczej), myślałem, że bym to opublikował. – username
zobacz także http://stackoverflow.com/questions/16490889/build-and-run-witharguments-in-sublime-text-2, jak to zrobić z dynamicznymi argumentami (zobacz wtyczkę InputArgs) –