Potrzebne będzie Eclipse IDE z CDT (C/C++ Development Tooling). Najłatwiej jest pobrać i zainstalować go za pomocą oferowanego instalatora, wybierając podczas instalacji wersję Eclipse IDE for C/C++ Developers. W labach Eclipse jest już zainstalowane.
File -> New -> Others -> C/C++: Makefile Project with Existing Code
.minix_source
), zaznaczamy tylko język C
i wybieramy toolchain <none>
.Finish
nowo stworzony projekt powinien pojawić się na liście widocznej w głównym oknie po lewej stronie.Po otworzeniu któregoś z plików projektu, np. /usr/src/minix/servers/ipc/main.c
Eclipse może podkreślać na czerwono niektóre fragmenty (np. pola struktur, stałe, ...) z informacją, że ich nie rozpoznaje. Spowodowane to jest #ifdef
-ami zawartymi w kodzie MINIX-a, które włączają/wyłączają podczas kompilacji niektóre fragmenty kodu, w zależności od zażądanej konfiguracji. Aby Eclipse interpretował cały potrzebny nam kod, należy w konfiguracji projektu ustawić odpowiednie symbole.
Properties
.C/C++ General -> Paths and Symbols
.Symbols
, a w niej pozycję GNU C
(po lewej).Add
dodajemy symbole: __minix
, __lint__
, _MINIX_SYSTEM
, _SYSTEM
, __i386__
(jako Name:
, Value:
pozostawiamy puste, zaznaczamy Add to all languages
).Apply and Close
, aby zastosować zmiany i zamknąć okienko konfiguracji.Index -> Rebuild
.Po zakończeniu tworzenia indeksu w pliku /usr/src/minix/servers/ipc/main.c
nie powinno być już żadnych czerwonych podkreśleń.
To nie są dokładnie takie symbole, jakie są definiowane podczas kompilowania przez nas MINIX-a, ale powinny być ,,wystarczająco dobre'' i skutecznie ,,zlikwidować'' większość czerwonych podkreśleń.
Pracę w Eclipse ułatwia wiele przydatnych skrótów i funkcji, np.:
Ctrl+Shift+R
: znajdź i otwórz plik o danej nazwie,Ctrl+E
: skocz do już otwartej karty/edytora,Ctrl+O
: funkcje, zmienne, struktury, itd. w danym pliku,Ctrl+F
: wyszukaj/zamień tekst w danym pliku,Ctrl+H
: wyszukaj tekst we wszystkich plikach np. projektu,Ctrl+[lewy przycisk myszy]
na funkcji, zmiennej, itd.: skocz od jej definicji,Alt+[strzałka w lewo]
: skocz do poprzedniego miejsca,Open Call Hierarchy
(w menu kontekstowym) na funkcji: wyszukaj jej wywołania.