Staonův svět - Zkouška Základy UNIXu 9.6.

Zkouška ze Základů UNIXu Úkol: MAKE DEP

Úkolem bylo napsat skript, který vytvoří skript pro program make. Jako parametr mu byl zadaný adresář, ve kterém hledal soubory. Nejprve měl najít soubory .c, které obsahují funkci main a ty bral jako hlavní programy. Potom je měl přeložit (cc -c jmeno.c), což vytvoří soubor .o. Potom zavolání programu nm -g jmeno.o vrátí na stdandardní výstup vyřešené a nevyřešené reference funkcí a datových struktur v určitém formátu. No a skript měl hledat v ostatích .o souborech hledat, jestli v nich nejsou vyřešené reference, které byly v původním nevyřešené. Tedy, pokud mám v nějakém skriptu použitu nějakou funkci, kterou nemám definovanou, tak jí musím najít jinde. Samozřejmě to musí fungovat rekurentně, aby ve výsledku byl program kompletní. Tohle se mělo udělat pro všechny programy v zadaném adresáři.

Druhá část byla v každém souboru .c v adresáři najít všechny klauzule #include a zjistit, kam odkazují a opět to dělat rekurentně. Muselo se dávat pozor na zacyklení a na to, že odkazy mohly být do jiného adresáře a pro ten byly relativní cesty zase jiné.

No pak tam byl nějaký výstup do souboru Makefile ve formátu:

jmeno: neco.o neco2.o…
neco7.o: neco8.h neco 9.c…

kde první řádek byly ty výstupy z první části a druhý z druhé. Samozřejmě to mělo být pro všechny soubory v adresáři, takže řádků bylo hodně.

No to zadání je celkem dlouhé, Forst to vysvětloval hodinu, takže si nic nedělejte z toho, že to moc nechápete, je to tím, že to neumím takhle zkráceně vysvětlit :)

Na vypracování byly 2 hodiny, byl tam jeden notebook s UNIXem, kde se dalo něco zkusit.

Po odevzdání to Forst 2 hodiny opravoval, potom jsme přišli, kdo měl 1 nebo 4, tak rovnou šel domů, u 2 záleželo na těch lidech, jestli chtějí 2, nebo na ústní. A 3ky měli ústní povinně.

Mě se poprvé v životě poštěstilo mít lepší známku než 3 hned napoprvé a rovnou za 1, takže jaká byla ústní už vám neřeknu :)))

Jo a ještě úspěšnost: Nevím přesně, ale bylo tam myslím 25 lidí, cca 4–5 za 1, cca 6–7 za 2, cca 10 za 3 a cca 5–6 za 4. Vážně nevím přesně.

Martin

Matfyz | 9.6.2006 Pá 17:19 | <<< trvalý odkaz >>> | tisk | 2 komentáře

Komentáře k textu

Rss komentářů tohoto textu

[1] reaguj
Staon mejl web 9.6.2006 Pá 20:13

Oh, yees. Gratuluji. Konečně to tady začíná vypadat optimističtěji :)

[2] reaguj
nAS mejl 9.6.2006 Pá 20:28

[1] Staon : Diky, nj, tohle mi udelalo radost :)

Přidej komentář!

  Gravatar povolen.

Příspěvěk je formátován Texy! syntaxí. Není povoleno HTML, odkazy se převádějí automaticky.
Matfyz je sbírka čeho?
Odpověd: malých červených kulatých kostiček naprostých cvoků

Autor vzhledu: Staon. Stránky jsou postaveny na redakčním systému RS2 (verze RC2).