Podręcznik Linux
Wstęp
Drodzy zawodnicy!
Mamy świadomość, że start w Olimpiadzie dla części z Was może być jednym z pierwszych kontaktów z Linuksem. Z myślą o tych osobach powstał ten krótki podręcznik, który mamy nadzieję pomoże Wam odnaleźć się w tym środowisku.
Pisanie programów
Do pisania swojego kodu możesz wykorzystać jedno z dostępnych środowisk programistycznych takich jak Geany czy Code::Blocks. Aby uruchomić dowolne z nich wybierz z menu Programy podmenu Programowanie. Na początek polecamy użycie Geany.
Do tworzenia swoich rozwiązań możesz też wykorzystać proste edytory tekstowe takie jak Gedit czy Kate. Znajdziesz je w menu Programy, w podmenu Akcesoria.
Terminal
W środowisku Linux ważnym narzędziem jest terminal. Aby go uruchomić, z menu Programy wybierz Emulator terminala albo po prostu kliknij odpowiednią ikonkę na pasku.
Po uruchomieniu będziesz w swoim folderze domowym czyli
/home/zawodnik
.
-
Aby przejść do podfolderu wpisz:
$ cd nazwa_podfolderu
-
Aby wrócić do folderu nadrzędnego wpisz:
$ cd ..
-
W każdym momencie możesz sprawdzić w jakim folderze się znajdujesz:
$ pwd
Kompilacja w C++
Aby skompilować swój program napisany w języku C++, w terminalu wejdź do folderu, w którym zapisałeś swoje rozwiązanie i uruchom poniższą komendę:
$ g++ -O3 -static -o nazwapliku nazwapliku.cpp -std=c++20
W wyniku jej działania, w folderze, w którym się znajdujesz, powstanie
plik o nazwie nazwapliku
.
Warto rozważyć dodanie flagi kompilatora -Wall
. Jej użycie spowoduje
bardziej szczegółowe wypisywanie ostrzeżeń podczas kompilacji co pozwala
odnaleźć wiele błędów.
Jeśli swój kod piszesz w środowisku programistycznym takim jak Geany czy Code::Blocks to do kompilacji możesz użyć wbudowanej w niego opcji (np. w Geany wystarczy wybrać z menu Zbuduj opcję Zbuduj).
Uruchamianie programów w C++
Aby uruchomić swoje rozwiązanie uruchom terminal oraz wejdź do folderu, w którym zapisałeś swój kod. Jeśli tego wcześniej nie zrobiłeś, skompiluj rozwiązanie. Wpisz:
-
$ ./nazwaprogramu
aby uruchomić swój program
-
$ ./nazwaprogramu < plik_testowy.in
aby uruchomić swój program oraz przekierować zawartość pliku
plik_testowy.in
na standardowe wejście -
$ ./nazwaprogramu < plik_testowy.in > wynik.out
aby uruchomić swój program, przekierować zawartość pliku
plik_testowy.in
na standardowe wejście oraz wynik działania programu zapisać do plikuwynik.out
-
$ time ./nazwaprogramu < plik_testowy.in > wynik.out
aby uruchomić swój program, przekierować zawartość pliku
plik_testowy.in
na standardowe wejście, wynik działania programu zapisać do plikuwynik.out
oraz dodatkowo wyświetlić czas działania programu. -
$ oiejq ./nazwaprogramu < plik_testowy.in > wynik.out
aby uruchomić swój program w wirtualnym środowisku emulującym działanie procesora (w podobnym środowisku Jury będzie oceniać rozwiązania).
Uruchamianie programów w Pythonie
Wszystko działa tak jak powyżej, tylko zamiast ./nazwaprogramu
należy
użyć
python3 nazwaprogramu.py