Poza stacjami roboczymi masz do dyspozycji trzy komputery o dźwięcznych nazwach diablo, inyo i panamint (nazwy te pochodzą od pasm górskich w górach Sierra Nevada). Studenci często mają problem w odróżnieniu tych komputerów od siebie i zorientowaniu się na którym teraz pracują i na którym powinni pracować. Bardzo mylący jest fakt, że wszystkie trzy komputery korzystają z tych samych katalogów domowych. Jednak każdy z tych komputerów jest inny i ma inne możliwości.
PAMIĘTAJ praca przy stacji roboczej jest bezcelowa. Jeżeli korzystasz ze stacji w 07, to albo zaloguj się z opcją remonte login, albo zaraz po zalogowaniu połącz się przez ssh z którymś z komputerów.
Kompilowanie programów
Program, który napiszesz, możesz skompilować na dowolnym z komputerów, jednak pamiętaj, uruchomić możesz go
tylko na tym, na którym go skompilowałeś. Każdy z tych komputerów ma inny system operacyjny i inny rodzaj
procesora. Dobrym sposobem jest oznaczanie w nazwie programu komputera na którym został on skompilowany. Na
przykład na inyo kompiluję w ten sposób:
cc -o prog.inyo prog.c
Proste programy możesz spokojnie kompilować na dowolnym z komputerów (a nawet w domu pod windowsem lub
dosem). Problemy zaczynają pojawiać się przy korzystaniu z bibliotek 'curses'. Na każdym z systemów
konieczne jest dołączenie innego pliku nagłówkowego. Można to rozwiązać stosując następującą formę:
#ifdef __hpux
# include <ncurses/curses.h> /* to zostanie dołączone na inyo */
#elif defined __linux
# include <ncurses.h> /* to na panamincie */
#else
# include <curses.h> /* a to na diablo */
#endif
Tak napisany program można skompilować na dowolnym komputerze nie zmieniając kodu. Można też dorzucić tam
czwartą wersję dla windowsa (#ifdef _WIN32_). Jednak kiedy zaczyna się praca z IPC (komunikacja
międzyprocesowa), to każdy komputer robi to po swojemu. W tym przypadku polecam panaminta, gdyż możesz tam
skompilować programy, które napisałeś w domu na swoim linuxie. Niestety: pod windows napisać się ich nie
da. W pozostałych przypadkach radzę pracować na diablo, bo jest najszybszy.