Przejdź do treści

Zestaw 5

Konsultuj się z notatkami w razie wątpliwości.

Fractal

Planetarium rozdaje gościom pocztówki z fraktalem podpisanym ich imieniem. Program, który je rysuje, napisał Marek, jedyny programista planetarium. Marek wyjechał właśnie na trzy miesiące na Antarktydę, a w sobotę zepsuł się komputer, na którym był jedyny skrypt budujący program. Zostały źródła, biblioteka od zewnętrznej firmy (bez kodu źródłowego) i notatki Marka. W poniedziałek dzień otwarty. Teksty w grze są po angielsku.

Zaloguj się na serwer student.tcs.uj.edu.pl i wykonaj:

cat /tmp/fractal/START_HERE.txt
cp -r /tmp/fractal/project ~/fractal
cd ~/fractal
/tmp/fractal/bin/fractal-check
  • fractal-check sprawdza katalog ~/fractal, pokazuje pierwszą rzecz, która jeszcze nie działa, i sam zapisuje postęp. Uruchamiaj go po każdej zmianie. Nie trzeba niczego wysyłać.
  • Wyniki zbieramy automatycznie co kilka minut.
  • Poziomy: Builder 1--4, Engineer 1--6, Maintainer 1--7.
  • Poziomy 1--6 są obowiązkowe, i warte jeden punkt każde. Poziom 7 jest nieobowiązkowy, i warty 2 punkty.
  • Punkty są naliczane do końca środy.

Na koniec obejrzyj swoją pocztówkę: magick out.ppm out.png, a potem skopiuj out.png na swój komputer przez scp.

Zadanie domowe: kompilator na własnym komputerze

  • Zainstaluj kompilator C na swoim komputerze (patrz Podstawowa konfiguracja):
    • Windows: w WSL sudo apt install build-essential;
    • macOS: xcode-select --install (dostarcza clang udający gcc);
    • Linux: pakiet build-essential lub odpowiednik.
  • Skopiuj zepsuty projekt na swój komputer: scp -r student:/tmp/fractal/project fractal (gdzie student to skrót z notatek o SSH).
  • Poprawki w kodzie z zajęć skopiuj ze swojego ~/fractal na serwerze.
  • Spróbuj zbudować program u siebie. Biblioteka lib/libstamp.so jest skompilowana dla Linuksa: czy da się jej użyć na Twoim systemie? Co mówi file lib/libstamp.so? Jeśli nie da się, skompiluj program bez niej. Jak najprościej zastąpić brakującą funkcję stamp_sign?