IMPLEMENTACE OPERAČNÍHO SYSTÉMU LINUX DO VÝUKY INFORMAČNÍCH TECHNOLOGIÍ JAZYK C
|
|
- Daniel Horáček
- před 7 lety
- Počet zobrazení:
Transkript
1 Identifikační údaje školy Číslo projektu Název projektu Číslo a název šablony Autor Tematická oblast Číslo a název materiálu Anotace Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská 2166, Varnsdorf, IČO: tel CZ.1.07/1.5.00/ Pro vzdělanější Šluknovsko 32 - Inovace a zkvalitnění výuky prostřednictvím ICT 0202 Ing. Vladimír Ďurči LINUX VY_32_INOVACE_0202_0303 Jak vytvořit program v Linuxu? Makefile [3/3] JAZYK C - OS LINUX Vytvořeno Určeno pro Operační systémy 4. ročník, maturitní obor Přílohy Přiložené textové soubory, a zpracované programy IMPLEMENTACE OPERAČNÍHO SYSTÉMU LINUX DO VÝUKY INFORMAČNÍCH TECHNOLOGIÍ JAZYK C
2 Lekce 3 J a k v y t v o ř i t p r o g r a m v L i n u x u? M a k e f i l e Obsah lekce: Cíle... 1 Makefile... 2 Příklad + Zabalení... 3 Shrnutí 1. a 3. lekce... 4 Lab 5
3 C í l e Tato lekce je velmi stručným úvodem do vytváření souboru. Mak e f i l e Pro jednoduché programy (jako je příklad v předchozí kapitole) stačí na kompilaci a slinkování jeden řádek v shellu. Ale pro rozsáhlejší projekty, kdy je zdrojový kód ve více souborech, by bylo psaní příkazu pro každý soubor velmi neefektivní a zdlouhavé. Samozřejmě to za nás může udělat skript, ale brzy zjistíme, že to stále není ono (už jen proto, že takhle to nikdo nedělá :-)). Pro kompilaci a linkování malých i velkých (př. jádro) programů nebo knihoven se prostě používá pouze a jedině Makefile. Makefile je obyčejný textový soubor, ve kterém jsou popsány závislosti mezi soubory a způsob kompilace a linkování. Tento soubor používá program make, který jej po spuštění hledá jako soubor Makefile, makefile nebo GNUmakefile. P ř í k l a d + Z a b a l e n í Příklad Soubor "Makefile": # Program "priklad", 2000 # CFLAGS = -Wall priklad: priklad.c libtext.h libtext.so $(CC) $(CFLAGS) -o $@ $< -L. -ltext libtext.so: libtext.c libtext.h $(CC) $(CFLAGS) -shared -o $@ $< clean: rm -f libtext.so priklad První dva řádky jsou komentáře. Nejdříve se nastaví proměnná CFLAGS. Proměnné se definují jako jmeno = hodnota a volají se jako $(jmeno) (bez závorek, pokud je jméno jednopísmenné). Pak se určí první závislost - na čem je závislý samotný program: na zdrojových souborech priklad.c, libtext.h a knihovně libtext.so, která se musí teprve vytvořit. Závislosti se píší ve tvaru cile: soubory_na_kterych_jsou_cile_zavisle, kde cile jsou jsou soubory, které se mají vytvořit, oddělené mezerou, a za dvojtečkou jsou soubory, které jsou k tomu potřeba. Další řádek je příkaz, kterým se vytvoří program "priklad" a vykoná se jen, pokud bude některý ze souborů priklad.c, libtext.h nebo libtext.so novější než soubor priklad. POZOR: Příkaz v Makefile 3
4 musí začínat tabulátorem (mezery make nezbaští)!!! make každý příkaz vypisuje. Pokud nechcete, aby se příkaz nepsal na výstup, napište před něj Další řádky určují závislost a způsob vytvoření knihovny libtext.so. Pokud potřebujete něco, co má být na jednom řádku, rozdělit do více řádků, musí být na konci všech řádků (kromě posledního) zpětné lomítko \. V praxi (a v tomto příkladě také) se často používají již předdefinované proměnné, např.: CC -- kompilátor, defaultně cc MAKE -- program make; tato proměnná se používá k rekurzivnímu volání make $ -- znak -- cíle v určení závislosti, tj. všechno před dvojtečkou < -- první soubor za dvojtečkou ^ -- všechny soubory za dvojtečkou (oddělené mezerou, každý jedenkrát) a dále se obvykle nastavují např. tyto (defaultně jsou nastavené na ""): CFLAGS -- volby kompilátoru LDFLAGS -- volby linkeru TARGETS -- konečné cíle, většinou jméno programu Nyní můžete spustit program make. Ten najde soubor Makefile a vezme si první cíl (priklad). Soubor libtext.so neexistuje, takže make přejde na určení jeho závislosti, vytvoří jej a nakonec už může provést cíl priklad. Pokud spustíte make s parametrem priklad, stane se totéž. Pokud jej však spustíte s parametrem libtext.so, vytvoří se jen knihovna. Při spuštění bez parametru si make totiž vezme ten první cíl, parametrem můžeme určit, jaký cíl má provést. Pokud za dvojtečkou není uveden žádný soubor, přikaz se provede vždy. Klasickým příkladem je "čistka" (vymazání souborů vzniklých kompilací a linkováním): clean: rm -f priklad.o libtext.so priklad Program make má samozřejmě také nějaké parametry, zde jen ty nejdůležitější: -C dir -- ještě před čtením Makefile se přepne se do adresáře dir; používá se při rekurzivním volání make -f file -- místo Makefile zpracovává soubor file -j jobs -- počet úloh (příkazů) prováděných paralelně; pokud jobs není uvedeno, počet není omezen -n -- jen vypisuje příkazy, které by vykonal, ale nevykonává je -s -- nevypisuje příkazy Zabalení Teď, kdy už všechno máme hotové, můžeme zdrojové texty a Makefile (a vše ostatní, př. datové soubory, dokumentaci,...) zabalit do balíčku pro uživatele. Standardně jsou to archivy tar.gz (tgz). Balíček vytvoříme takto: tar cfz balicek.tar.gz adresar_s_programem 4
5 Tento balíček můžeme dát např. na internet. (Více se o balení pod Linuxem dozvíte v článku Balení a rozbalování pod Linuxem.) Příklad Vytvoření balíčku: tar cfz priklad.tar.gz priklad Uživatelská část V této části se podíváme na uživatelovo počínání s naším programem. Ten si např. stáhne náš program (balíček) z internetu a zkopíruje do adresáře, kde jej chce mít. Teď musí balíček rozbalit: tar xfz balicek.tar.gz Pak přejde do adresáře s programem a zkompiluje ho: make Nakonec je někdy potřeba udělat ještě nějaké další věci, které jak který program potřebuje (př. pro náš příklad - nastavit proměnnou prostředí LD_LIBRARY_PATH). Jak je vidět, uživatel má nesrovnatelně jednodušší práci než my - vývojáři (nebo chcete-li programátoři). S h r n u t í 1. a 2. l e k c e Překlad s gcc Z minulé lekce známe základy práce s gcc. Jednoduché projekty z několika zdrojových souborů lze obvykle přeložit prostým příkazem gcc soubor1.c soubor2.c souborn.c -o program V případě větších projektů je tento postup nevýhodný. Překlad může obsahovat sestavování jednotlivých logických celků, vytváření a linkování knihoven, navíc výsledkem může být hned několik programů, které mají část kódu společnou. Překlad C nebo C++ kódu je hlavně díky preprocesoru a optimalizacím časově náročný a zejména při vývoji by bylo neúnosné překládat po jediné změně libovolného zdrojového souboru celý projekt od začátku. Hodně času ušetří oddělení fáze preprocesingu a vlastního překladu od linkování, neboť pak můžeme využít mezivýsledky minulého překladu. gcc soubor1.c -c gcc soubor2.c -c gcc souborn.c -c gcc soubor1.o soubor2.o souborn.o -o program Prvními třemi příkazy provedeme odděleně vlastní překlad jednotlivých zdrojových souborů, objektový kód se uloží do soubor1.o, soubor2.o a souborn.o. Posledním příkazem pak objektové 5
6 soubory slinkujeme do výsledného programu. Pokud potom při ladění změníme například první *.c soubor, stačí zavolat gcc soubor1.c -c gcc soubor1.o soubor2.o souborn.o -o program Při modifikaci hlavičkového souboru sice musíme překompilovat všechny *.c soubory, které jej přímo nebo zprostředkovaně inkludují, ale přesto nám oddělení vlastního překladu od linkování při vývoji skutečných praktických projektů ušetří spoustu času, který bychom jinak strávili čekáním na překladač. Bohužel vyznat se v časech modifikací a závislostech zdrojového kódu na hlavičkových souborech je nad síly běžného programátora. Proto vznikl make. Makefile Příkaz make provádí akce závislé na jiných akcích a může přitom mimo jiné testovat existenci a porovnávat datum poslední modifikace souboru. Seznam akcí a závislostí je popsán v souboru, který se obvykle jmenuje Makefile. Samotný make není přímo svázaný s překladem C, lze a má rozumný smysl jej použít v podstatě na libovolnou složitější sadu akcí s vysokým stupněm závislosti, kde neexistuje lepší řešení, klidně třeba vytvoření balíčku s dokumentací v pdf z textovských zdrojáků. Je ovšem pravda, že překlad C/C++ je určitě nejčastějším příkladem použití make a platí to i naopak, standardním způsobem organizace překladu na Unixu je Makefile. Jednoduchý projekt ze tří souborů v Makefile by mohl vypadat asi takhle: priklad: funkce.o main.o gcc funkce.o main.o -o priklad funkce.o: funkce.c gcc funkce.c -c main.o: main.c funkce.h gcc main.c -c Umístíme jej do adresáře se zdrojovým kódem a projekt přeložíme prostým příkazem make Pokud si to budete chtít vyzkoušet a budete kopírovat Makefile z webového prohlížeče přes schránku, dejte si pozor na odsazení příkazů. Odsazení jednotlivých příkazů musí být provedeno pomocí tabelátoru. To je určitě nejhloupější vlastnost make. Stáhněte si proto raděj celý příklad zabalený jako c17beta.tar.gz. Jak to celé funguje? V souboru Makefile je sada pravidel typu cíl: závislost1 závislost2... [tabelátor]akce Cíl uvedený jako první je implicitní cíl příkazu make. Můžeme jej také určit explicitně jako první parametr, takže například make main.o provede pouze vlastní překlad souboru main.c podle třetího pravidla. Při volání make bez parametrů je cílem přeložený program - soubor priklad. Make nejprve projde závislosti, zde funkce.o a main.o. Nejdřív ověří funkce.o a zjistí, že soubor neexistuje, ale může jej vytvořit pomocí druhého pravidla. 6
7 V pravidle pro funkce.o je závislost na funkce.c, ta je splněna, neboť soubor funkce.c existuje a není pro něj žádné pravidlo. Dojde tedy na akci pravidla pro funkce.o, make zavolá gcc funkce.c -c a vrátí se k testování závislostí prvního pravidla. Přečte si, že priklad závisí ještě na main.o, a tak jej pomocí třetího pravidla (zcela analogicky jako v případě funkce.o) vytvoří. Nyní již jsou splněny všechny závislosti a make se dostane k vykonání akce hlavního prvního pravidla. gcc funkce.o main.o -o priklad Trochu složitější to je, pokud jsme už celý projekt přeložili, ale dodatečně ještě změnili main.c (stačí zavolat touch main.c) a zavolali make. Při testu závislostí prvního pravidla sice oba objektové soubory existují a budou i o nějakou tu desetinu vteřiny starší než soubor priklad, ale v Makefile jsou i pro ně napsaná pravidla, a make tedy musí nejprve ověřit rekurzivně i jejich závislosti. V případě funkce.o je závislost splněna, neboť funkce.c je starší než funkce.o a pro funkce.c neexistuje žádné pravidlo. V případě main.o je tomu jinak, neboť main.c je mladší než main.o. Dojde tedy na akci gcc main.c -c a tím se vytvoří nový main.o s aktuálním časem modifikace. To znamená, že main.o bude mladší než priklad a make musí po návratu do zpracování prvního pravidla zavolat na závěr i jeho akci. gcc funkce.o main.o -o priklad Syntaxe Makefile umožňuje také vkládat komentáře a definovat proměnné. # Tohle je naše první proměnná OBJ=main.o funkce.o # Použitím proměnné OBJ si ušetříme trochu psaní priklad: ${OBJ} gcc ${OBJ} -o priklad Jako typické použití proměnných bych uvedl nepovinné parametry překladače. Pomocí přepínačů - O0 až -O3 můžeme určit míru optimalizace gcc, pomocí -g zase přidáme do kódu ladící informace, které pak můžeme využít například nástroji typu gdb nebo valgrind. Nastavením jediné proměnné v Makefilu tak můžeme ovlivnit způsob překladu všech souborů, nejspíš se bude lišit překlad distribuční verze projektu od překladu během vývoje. Často se v Makefile vyskytují vedlejší cíle. Už víme, že implicitně make zpracovává první cíl uvedený v Makefile, ale nic nám nebrání definovat další, obvyklé jsou například clean (smazání souborů vygenerovaných při překladu), install (instalace přeloženého projektu), uninstall a distrib (vytvoření distribuce zdrojového kódu projektu v jediném balíčku), běžně se lze také setkat s generováním dokumentace nebo přeložených balíčků pro systémy správy nainstalovaného software jako je například RPM. V souvislosti s cíli, jimž neodpovídá žádný soubor se používá speciální cíl.phony. S jeho pomocí můžeme sdělit make, že cíl není vázaný na soubor stejného jména. Příkaz make clean 7
8 pak bude fungovat i v případě, že v adresáři projektu shodou okolností existuje soubor jménem clean. 8
9 O t á z k y k o p a k o v á n í 1. Kterou funkci obsahují v jazyce C? Proč je vhodné rozdělit velký program do několika funkcí? 2. Jakým příkazem se přeloží soubory prog.c a func.c do spustitelného programu? 9
10 L a b. 10
Lekce 6 IMPLEMENTACE OPERAČNÍHO SYSTÉMU LINUX DO VÝUKY INFORMAČNÍCH TECHNOLOGIÍ JAZYK C
Identifikační údaje školy Číslo projektu Název projektu Číslo a název šablony Autor Tematická oblast Číslo a název materiálu Anotace Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace
VíceVÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu
VÝUKOVÝ MATERIÁL Identifikační údaje školy Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632
VíceVÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu
VÝUKOVÝ MATERIÁL Identifikační údaje školy Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632
VíceLekce 7 IMPLEMENTACE OPERAČNÍHO SYSTÉMU LINUX DO VÝUKY INFORMAČNÍCH TECHNOLOGIÍ
Identifikační údaje školy Číslo projektu Název projektu Číslo a název šablony Autor Tematická oblast Číslo a název materiálu Anotace Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace
VíceIMPLEMENTACE OPERAČNÍHO SYSTÉMU LINUX DO VÝUKY INFORMAČNÍCH TECHNOLOGIÍ
Identifikační údaje školy Číslo projektu Název projektu Číslo a název šablony Autor Tematická oblast Číslo a název materiálu Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská
VíceVÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu
VÝUKOVÝ MATERIÁL Identifikační údaje školy Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632
Více1 Návod na instalaci prostředí LeJOS-NXJ a přehrání firmwaru NXT kostky
1 Návod na instalaci prostředí LeJOS-NXJ a přehrání firmwaru NXT kostky 1. Nainstalujte ovladač na připojení NXJ přes USB rozhraní. Pokud jste nainstalovali software od LEGO Mindstorms, který se k legu
VíceVývoj programů. ÚVOD DO OPERAČNÍCH SYSTÉMŮ
ÚVOD DO OPERAČNÍCH SYSTÉMŮ Vývoj programů. Programovací nástroje. Aplikační programové rozhraní API. Standard POSIX. Vytvoření spustitelného souboru, použití kompilátoru a linkeru. Statické a dynamické
VíceLekce 23 IMPLEMENTACE OPERAČNÍHO SYSTÉMU LINUX DO VÝUKY INFORMAČNÍCH TECHNOLOGIÍ
Identifikační údaje školy Číslo projektu Název projektu Číslo a název šablony Autor Tematická oblast Číslo a název materiálu Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská
VícePB071 Úvod do jazyka C
PB071 Úvod do jazyka C Překladové systémy Jiri Slaby Fakulta informatiky Masarykova univerzita 2. 5. 2016 Jiri Slaby (Fakulta informatiky, MU) PB071 Překlad 2. 5. 2016 1 / 23 Obsah přednášky 1 Úvod a motivace
VíceZáklady programování (IZP)
Základy programování (IZP) Druhé laboratorní cvičení Vysoké učení technické v Brně, Fakulta informačních technologií v Brně Božetěchova 2, 612 66 Brno Cvičící: Petr Veigend (iveigend@fit.vutbr.cz) Důležité
VíceIMPLEMENTACE OPERAČNÍHO SYSTÉMU LINUX DO VÝUKY INFORMAČNÍCH TECHNOLOGIÍ
Identifikační údaje školy Číslo projektu Název projektu Číslo a název šablony Autor Tematická oblast Číslo a název materiálu Anotace Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace
VíceVÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu
VÝUKOVÝ MATERIÁL Identifikační údaje školy Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632
VíceIMPLEMENTACE OPERAČNÍHO SYSTÉMU LINUX DO VÝUKY INFORMAČNÍCH TECHNOLOGIÍ
Identifikační údaje školy Číslo projektu Název projektu Číslo a název šablony Autor Tematická oblast Číslo a název materiálu Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská
VíceLekce 3 IMPLEMENTACE OPERAČNÍHO SYSTÉMU LINUX DO VÝUKY INFORMAČNÍCH TECHNOLOGIÍ
Identifikační údaje školy Číslo projektu Název projektu Číslo a název šablony Autor Tematická oblast Číslo a název materiálu Anotace Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace
VíceVÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu
VÝUKOVÝ MATERIÁL Identifikační údaje školy Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632
VíceVÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu
VÝUKOVÝ MATERIÁL Identifikační údaje školy Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632
VíceZáklady programování (IZP)
Základy programování (IZP) Druhé laboratorní cvičení Vysoké učení technické v Brně, Fakulta informačních technologií v Brně Božetěchova 2, 612 66 Brno inecasova@fit.vutbr.cz Důležité informace Můj profil:
VíceVÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu
VÝUKOVÝ MATERIÁL Identifikační údaje školy Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632
VíceLinux CryptoFS. Petr Novický <P.Novicky@sh.cvut.cz>
Linux CryptoFS Petr Novický Osnova přednášky Loop-AES Úvod Příprava, kompilace, instalace Použití Diskový oddíl Soubor Závěr Diskový oddíl s použitím semínka Loop-AES (úvod) - šifrovaný
VíceVÝUKOVÝ MATERIÁL. 3. ročník učebního oboru Elektrikář Přílohy. bez příloh. Identifikační údaje školy
VÝUKOVÝ MATERIÁL Identifikační údaje školy Číslo projektu Název projektu Číslo a název šablony Autor Tematická oblast Číslo a název materiálu Anotace Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková
Více1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:
1. lekce 1. Minimální program do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme: #include #include int main() { printf("hello world!\n"); return 0; 2.
VíceIMPLEMENTACE OPERAČNÍHO SYSTÉMU LINUX DO VÝUKY INFORMAČNÍCH TECHNOLOGIÍ
Identifikační údaje školy Číslo projektu Název projektu Číslo a název šablony Autor Tematická oblast Číslo a název materiálu Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská
VíceKoncepce (větších) programů. Základy programování 2 Tomáš Kühr
Koncepce (větších) programů Základy programování 2 Tomáš Kühr Parametry a návratová hodnota main Již víme, že main je funkce A také tušíme, že je trochu jiná než ostatní funkce v programu Funkce main je
VíceLekce 8 IMPLEMENTACE OPERAČNÍHO SYSTÉMU LINUX DO VÝUKY INFORMAČNÍCH TECHNOLOGIÍ
Identifikační údaje školy Číslo projektu Název projektu Číslo a název šablony Autor Tematická oblast Číslo a název materiálu Anotace Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace
VíceVÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu
VÝUKOVÝ MATERIÁL Identifikační údaje školy Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632
VíceIMPLEMENTACE OPERAČNÍHO SYSTÉMU LINUX DO VÝUKY INFORMAČNÍCH TECHNOLOGIÍ
Identifikační údaje školy Číslo projektu Název projektu Číslo a název šablony Autor Tematická oblast Číslo a název materiálu Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská
VíceINSTALACE PRODUKTU ONTOPIA KNOWLEDGE SUITE
INSTALACE PRODUKTU ONTOPIA KNOWLEDGE SUITE profesionální verze 1 Obsah Požadavky... 3 Instalace... 3 Proměnná CLASSPATH... 3 Zpřístupnění licenčního klíče... 3 Ověřování komponent OKS. 3 Spouštíme aplikaci
VíceNástroje pro vývoj software
Nástroje pro vývoj software http://d3s.mff.cuni.cz Pavel Parízek parizek@d3s.mff.cuni.cz CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics Cíl předmětu Základní přehled o dostupných nástrojích
VíceZáklady programování (IZP)
Základy programování (IZP) Druhé počítačové cvičení Brno University of Technology, Faculty of Information Technology Božetěchova 1/2, 612 66 Brno - Královo Pole Petr Veigend, iveigend@fit.vutbr.cz 2016/2017
VíceRegistrační číslo projektu: CZ.1.07/1.5.00/34.0185. Název projektu: Moderní škola 21. století. Zařazení materiálu: Ověření materiálu ve výuce:
STŘEDNÍ ODBORNÁ ŠKOLA A STŘEDNÍ ODBORNÉ UČILIŠTĚ NERATOVICE Školní 664, 277 11 Neratovice, tel.: 315 682 314, IČO: 683 834 95, IZO: 110 450 639 Ředitelství školy: Spojovací 632, 277 11 Neratovice tel.:
VíceCvičení MI-PAP I. Šimeček, M. Skrbek, J. Trdlička
Cvičení MI-PAP I. Šimeček, M. Skrbek, J. Trdlička xsimecek@fit.cvut.cz Katedra počítačových systémů FIT České vysoké učení technické v Praze Ivan Šimeček, 2011 MI-PAP, LS2010/11, Cvičení 1-6 Příprava studijního
VíceINSTALACE SW V GNU/LINUXU
INSTALACE SW V GNU/LINUXU Název školy Obchodní akademie, Vyšší odborná škola a Jazyková škola s právem státní jazykové zkoušky Uherské Hradiště Název DUMu Instalace SW v GNU/Linuxu Autor Martin Šimůnek
Více1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:
1. lekce 1. Minimální program do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme: #include #include int main() { printf("hello world!\n"); return 0; 2.
VíceVÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu
VÝUKOVÝ MATERIÁL Identifikační údaje školy Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632
VícePřednáška 2. Systémy souborů OS UNIX. Nástroje pro práci se souborovým systémem. Úvod do Operačních Systémů Přednáška 2
Přednáška 2 Systémy souborů OS UNIX. Nástroje pro práci se souborovým systémem. 1 Systém souborů (FS) I 2 Systém souborů II Logický systém souborů pro běžného uživatele se jeví jako jediná homogenní struktura
VíceMIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY
MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY Stručný úvod do programování v jazyce C 1.díl České vysoké učení technické Fakulta elektrotechnická A1B14MIS Mikroprocesory pro výkonové systémy 06 Ver.1.10 J. Zděnek,
VíceVyšší odborná škola a Střední škola,varnsdorf, příspěvková organizace. Šablona 5 VY 32 INOVACE
Vyšší odborná škola a Střední škola,varnsdorf, příspěvková organizace Šablona 5 VY 32 INOVACE 0101 0305 VÝUKOVÝ MATERIÁL Identifikační údaje školy Číslo projektu Název projektu Číslo a název šablony Autor
VíceOperační systémy. Cvičení 3: Programování v C pod Unixem
Operační systémy Cvičení 3: Programování v C pod Unixem 1 Obsah cvičení Editace zdrojového kódu Překlad zdrojového kódu Základní datové typy, struktura, ukazatel, pole Načtení vstupních dat Poznámka: uvedené
VíceUživatelská příručka
www.rexcontrols.cz www.contlab.eu www.pidlab.com Ovladač systému REX pro 1-Wire (modul OwsDrv) Uživatelská příručka REX Controls s.r.o. Verze 2.10.7 (revize 2) Plzeň 16.12.2015 Obsah 1 Ovladač OwsDrv a
Více- dělají se také pomocí #define - podobné (použitím) funkcím - předpřipravená jsou např. v ctype.h. - jak na vlastní makro:
21.4.2009 Makra - dělají se také pomocí #define - podobné (použitím) funkcím - předpřipravená jsou např. v ctype.h - jak na vlastní makro: #define je_velke(c) ((c) >= 'A' && (c)
VícePSK3-9. Základy skriptování. Hlavička
PSK3-9 Název školy: Autor: Anotace: Vyšší odborná škola a Střední průmyslová škola, Božetěchova 3 Ing. Marek Nožka Základy skriptování v unixovém shellu Vzdělávací oblast: Informační a komunikační technologie
VíceVÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu
VÝUKOVÝ MATERIÁL Identifikační údaje školy Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632
VíceINFORMATIKA MS WORD TVORBA VLASTNÍHO STYLU
Škola: Autor: DUM: Vzdělávací obor: Tematický okruh: Téma: Masarykovo gymnázium Vsetín Mgr. Petr Koňařík MGV_VT_SS_1S3-D10_Z_WORD_VL_STYL.docx Informatika MS Word Styly, tvorba vlastního stylu INFORMATIKA
Více11. Přehled prog. jazyků
Jiří Vokřínek, 2016 B6B36ZAL - Přednáška 11 1 Základy algoritmizace 11. Přehled prog. jazyků doc. Ing. Jiří Vokřínek, Ph.D. Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze
VícePreprocesor a koncepce (větších) programů. Úvod do programování 2 Tomáš Kühr
Preprocesor a koncepce (větších) programů Úvod do programování 2 Tomáš Kühr Práce s preprocesorem Preprocesor Zpracovává zdrojový kód ještě před překladačem Provádí pouze záměny textů (např. identifikátor
VícePHP PHP je skriptovací programovací jazyk dynamických internetových stránek PHP je nezávislý na platformě
PHP PHP původně znamenalo Personal Home Page a vzniklo v roce 1996, od té doby prošlo velkými změnami a nyní tato zkratka znamená Hypertext Preprocessor. PHP je skriptovací programovací jazyk, určený především
VíceVÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu
VÝUKOVÝ MATERIÁL Identifikační údaje školy Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632
VíceÚVOD DO UNIXU. Metodický list č. 1
ÚVOD DO UNIXU Metodický list č. 1 Účelem tohoto předmětu je naučit studenty pracovat s operačním systémem typu UNIX (orientováno hlavně na příkazovou řádku a shell) a porozumět jeho filosofii. Libovolnou
VíceVÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu
VÝUKOVÝ MATERIÁL Identifikační údaje školy Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632
VícePŘÍKAZOVÝ ŘÁDEK ZÍSKÁVÁNÍ NÁPOVĚDY
PŘÍKAZOVÝ ŘÁDEK ZÍSKÁVÁNÍ NÁPOVĚDY Název školy Obchodní akademie, Vyšší odborná škola a Jazyková škola s právem státní jazykové zkoušky Uherské Hradiště Název DUMu Příkazový řádek získávání nápovědy Autor
VíceDERATIZACE ANEB PROČ PŘÍKAZY ;)
DERATIZACE ANEB PROČ PŘÍKAZY ;) Název školy Obchodní akademie, Vyšší odborná škola a Jazyková škola s právem státní jazykové zkoušky Uherské Hradiště Název DUMu Deratizace aneb Proč příkazy ;) Autor Martin
VíceVyšší odborná škola a Střední škola,varnsdorf, příspěvková organizace. Šablona 20 VY 32 INOVACE
Vyšší odborná škola a Střední škola,varnsdorf, příspěvková organizace Šablona 20 VY 32 INOVACE 0101 0120 VÝUKOVÝ MATERIÁL Identifikační údaje školy Číslo projektu Název projektu Číslo a název šablony Vyšší
VíceWebový server lapache
Webový server lapache Abstrakt lapache (lukas light apache) je jednoduchý UNIXový webový server podporující: podmnožinu HTTP 1.0/1 protokolu virtuální servery (s vlastními chybovými stránkami a kořenem
VíceSimluátor Trilobota. (projekt do předmětu ROB)
Simluátor Trilobota (projekt do předmětu ROB) Kamil Dudka Jakub Filák xdudka00 xfilak01 BRNO 2008 1 Úvod Jako školní týmový projekt jsme si zvolili simulátor trilobota 1 a jeho prostředí. Simulátor komunikuje
VíceVyšší odborná škola a Střední škola,varnsdorf, příspěvková organizace. Šablona 15 VY 32 INOVACE 0101 0215
Vyšší odborná škola a Střední škola,varnsdorf, příspěvková organizace Šablona 15 VY 32 INOVACE 0101 0215 VÝUKOVÝ MATERIÁL Identifikační údaje školy Číslo projektu Název projektu Číslo a název šablony Autor
VíceÚvod do programování. Lekce 1
Úvod do programování Lekce 1 Základní pojmy vytvoření spustitelného kódu editor - psaní zdrojových souborů preprocesor - zpracování zdrojových souborů (vypuštění komentářů atd.) kompilátor (compiler) -
VíceFILTRY V GNU/LINUXU ZLÍNSKÝ KRAJ. Obchodní akademie, Vyšší odborná škola a Jazyková škola s právem státní jazykové zkoušky Uherské Hradiště
FILTRY V GNU/LINUXU Název školy Obchodní akademie, Vyšší odborná škola a Jazyková škola s právem státní jazykové zkoušky Uherské Hradiště Název DUMu Filtry v GNU/Linuxu Autor Martin Šimůnek Datum 6. 1.
VíceStřední odborná škola a Střední odborné učiliště, Hořovice
Kód DUM : VY_32_INOVACE_DYN.1.05 Název materiálu: Anotace Autor Jazyk Očekávaný výstup 05 Zásady psaní v jazyce PHP DUM naučí základní kroky v psaní správné syntaxe PHP, žák napíše svůj první skript Ing.
VíceZákladní příkazy OS UNIX
1 Základní příkazy OS UNIX Výpis obsahu adresáře ls [přepínače] [soubor]! výpis informací o zadaných souborech! pokud zadáme jméno adresáře, je vypsán obsah adresáře (seznam souborů, které jsou v adresáři
VíceÚvod do jazyka C. Ing. Jan Fikejz (KST, FEI) Fakulta elektrotechniky a informatiky Katedra softwarových technologií
1 Fakulta elektrotechniky a informatiky Katedra softwarových technologií 12. října 2009 Organizace výuky Přednášky Teoretické základy dle normy jazyka C Cvičení Praktické úlohy odpřednášené látky Prostřední
VíceVÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu
VÝUKOVÝ MATERIÁL Identifikační údaje školy Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632
VíceMasarykova střední škola zemědělská a Vyšší odborná škola, Opava, příspěvková organizace
Masarykova střední škola zemědělská a Vyšší odborná škola, Opava, příspěvková organizace Číslo projektu Číslo materiálu Autor Průřezové téma Předmět CZ.1.07/1.5.00/34.0565 VY_32_INOVACE_284_Programovací_jazyky
VíceFORTANNS. havlicekv@fzp.czu.cz 22. února 2010
FORTANNS manuál Vojtěch Havlíček havlicekv@fzp.czu.cz 22. února 2010 1 Úvod Program FORTANNS je software určený k modelování časových řad. Kód programu má 1800 řádek a je napsán v programovacím jazyku
VíceLekce 33 IMPLEMENTACE OPERAČNÍHO SYSTÉMU LINUX DO VÝUKY INFORMAČNÍCH TECHNOLOGIÍ
Identifikační údaje školy Číslo projektu Název projektu Číslo a název šablony Autor Tematická oblast Číslo a název materiálu Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská
VíceStřední odborná škola a Střední odborné učiliště, Hořovice
Kód DUM : VY_32_INOVACE_LIN.1.03 Název materiálu: Anotace Autor Jazyk Očekávaný výstup 03 BASH rozbory a psaní skriptů DUM naučí psát elementární BASH skripty, ukáže zásady psaní cyklů a přepínačů Ing.
VíceObsah. 1) Rozšířené zadání 2) Teorie zásuvných modulů a) Druhy aplikací používajících zásuvné moduly b) Knihovny c) Architektura aplikace d) Výhody
Obsah 1) Rozšířené zadání 2) Teorie zásuvných modulů a) Druhy aplikací používajících zásuvné moduly b) Knihovny c) Architektura aplikace d) Výhody 3) 4) Mantichora Mantichora je moderní aplikace, který
VíceInstalace TEX Live 2007 pro Windows
Instalace TEX Live 2007 pro Windows Jiří Dvorský Katedra informatiky FEI VŠB-TU Ostrava jiri.dvorsky@vsb.cz 10. ledna 2008 1 Úvod V lednu 2007 vyšla nová distribuce TEXu, L A TEXu atd. označovaná jako
VíceProgramujeme v softwaru Statistica
Programujeme v softwaru Statistica díl třetí Newsletter Statistica ACADEMY Téma: Programování, makra, skripty Typ článku: Návody V předchozích článcích (díl první, díl druhý) jsme si osvětlili základní
VíceŠablona 10 VY_32_INOVACE_0106_0110 Rovnice s absolutní hodnotou
Šablona 10 VY_32_INOVACE_0106_0110 Rovnice s absolutní hodnotou 1 Identifikační údaje školy Číslo projektu Číslo a název šablony Autor Tematická oblast Číslo a název materiálu Anotace VÝUKOVÝ MATERIÁL
VícePole stručný úvod do začátku, podrobně později - zatím statická pole (ne dynamicky) - číslují se od 0
Pole stručný úvod do začátku, podrobně později - zatím statická pole (ne dynamicky) - číslují se od 0 int policko[100]; // tj. pole je od 0 do 99!!! policko[5] = 7; // pozor je to 6. prvek s indexem 5
VíceZáklady HTML. Autor: Palito
Základy HTML Autor: Palito Zobrazení zdrojového kódu Zobrazení zdrojového kódu Každá stránka je na disku nebo na serveru uložena ve formě zdrojového kódu. Ten kód je psaný v jazyce HTML. Když si chcete
VícePředměty. Algoritmizace a programování Seminář z programování. Verze pro akademický rok 2012/2013. Verze pro akademický rok 2012/2013
Předměty Algoritmizace a programování Seminář z programování Verze pro akademický rok 2012/2013 Verze pro akademický rok 2012/2013 1 Přednášky Jiřina Královcová MTI, přízemí budovy A Tel: 48 53 53 521
VíceIMPLEMENTACE OPERAČNÍHO SYSTÉMU LINUX DO VÝUKY INFORMAČNÍCH TECHNOLOGIÍ JAZYK C
Identifikační údaje školy Číslo projektu Název projektu Číslo a název šablony Autor Tematická oblast Číslo a název materiálu Anotace Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace
VíceJan Kratochvíl, F 3 MOD. 15. února 2004
Úhrny slunečního záření Jan Kratochvíl, F 3 MOD 15. února 2004 1 Úvod Tento projekt demonstruje možnost spolupráce IDL s externími programy jednak pomocí funkce call external a jednak prostřednictvím ActiveX
VíceEU peníze středním školám digitální učební materiál
EU peníze středním školám digitální učební materiál Číslo projektu: Číslo a název šablony klíčové aktivity: Tematická oblast, název DUMu: Autor: CZ.1.07/1.5.00/34.0515 III/2 Inovace a zkvalitnění výuky
VíceInovace a zkvalitnění výuky prostřednictvím ICT Základy programování a algoritmizace úloh Textové soubory
Střední průmyslová škola a Vyšší odborná škola technická Brno, Sokolská 1 Šablona: Název: Téma: Inovace a zkvalitnění výuky prostřednictvím ICT Základy programování a algoritmizace úloh Textové soubory
VíceLekce 25 IMPLEMENTACE OPERAČNÍHO SYSTÉMU LINUX DO VÝUKY INFORMAČNÍCH TECHNOLOGIÍ
Identifikační údaje školy Číslo projektu Název projektu Číslo a název šablony Autor Tematická oblast Číslo a název materiálu Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská
VíceOptimalizace. Optimalizace. Profilování. Gprof. Gcov. Oprofile. Callgrind. Intel Vtune. AMD CodeAnalyst
Optimalizace Optimalizace Profilování Gprof Gcov Oprofile Callgrind Intel Vtune AMD CodeAnalyst Cvičení Hlavní využití počítačů Vývoj paralelního algoritmu je nutné chápat jako optimalizaci. 1. nejprve
VíceAUTHOR : Robert Follner DATE. Abstrakt ABSTRACT: Několik poznatků autora (Robert Follner) z programování
Programování v C/C++ AUTHOR : Robert Follner DATE Abstrakt ABSTRACT: Několik poznatků autora (Robert Follner) z programování v céčku. Obsah 1 Jazyk C 1 1.1 Primitivy jazyka C..........................
VíceVyšší odborná škola a Střední škola,varnsdorf, příspěvková organizace. Šablona 4 VY 32 INOVACE 0101 0304
Vyšší odborná škola a Střední škola,varnsdorf, příspěvková organizace Šablona 4 VY 32 INOVACE 0101 0304 VÝUKOVÝ MATERIÁL Identifikační údaje školy Číslo projektu Název projektu Číslo a název šablony Autor
VícePŘÍKAZY PRÁCE SE SOUBORY
PŘÍKAZY PRÁCE SE SOUBORY Název školy Obchodní akademie, Vyšší odborná škola a Jazyková škola s právem státní jazykové zkoušky Uherské Hradiště Název DUMu Absolutní a relativní cesty Autor Martin Šimůnek
VíceStřední odborná škola a Střední odborné učiliště, Hořovice
Kód DUM : VY_32_INOVACE_DYN.1.19 Název materiálu: 19 PHP- Základy práce s databází PHP 2. část MySQL (Aplikace knihovna) Anotace Autor Jazyk Očekávaný výstup DUM je žákům průvodcem vytvoření databáze knih
VíceInstalační a uživatelská příručka aplikace VHDT
Instalační a uživatelská příručka aplikace VHDT Jan Matějů 16. ledna 2013 1 Požadavky Ke spuštění aplikace je nutné mít v počítači nainstalované běhové prostředí Java. Doporučena je verze Oracle JRE 6
VíceProgramovací jazyky. imperativní (procedurální) neimperativní (neprocedurální) assembler (jazyk symbolických instrukcí)
Programovací jazyky Programovací jazyky nižší assembler (jazyk symbolických instrukcí) vyšší imperativní (procedurální) Pascal, C/C++, Java, Basic, Python, php neimperativní (neprocedurální) Lisp, Prolog
VíceGymnázium Vysoké Mýto nám. Vaňorného 163, Vysoké Mýto
Gymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto Registrační číslo projektu Šablona Autor Název materiálu / Druh CZ.1.07/1.5.00/34.0951 III/2 INOVACE A ZKVALITNĚNÍ VÝUKY PROSTŘEDNICTVÍM ICT
VíceTypy souborů ve STATISTICA. Tento článek poslouží jako přehled hlavních typů souborů v programu
StatSoft Typy souborů ve STATISTICA Tento článek poslouží jako přehled hlavních typů souborů v programu STATISTICA, ukáže Vám jejich možnosti a tím Vám dovolí využívat program efektivněji. Jistě jste již
VíceIdentifikační údaje školy Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková. Výukový materiál
1 Výukový materiál Identifikační údaje škol Všší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská 2166, 07 7 Varnsdorf, IČO: 1838387 www.vosassvdf.cz, tel. +2012372632 Číslo
VíceJak funguje GNU/Linux
Jak funguje GNU/Linux Úvod do operačního systému a filozofie Jiří Jánský SUT SH 12.10.1010 GNU/Linux I. Proč Linux používájí geekové Za více námahy více muziky Příklad s přepsáním titulků Svobody Open
VícePHP tutoriál (základy PHP snadno a rychle)
PHP tutoriál (základy PHP snadno a rychle) Druhá, vylepšená offline verze. Připravil Štěpán Mátl, http://khamos.wz.cz Chceš se naučit základy PHP? V tom případě si prostuduj tento rychlý průvodce. Nejdříve
VícePřednáška 8. Proměnné. Psaní a ladění skriptů. Parametry skriptu. Vstup a výstup. Konfigurační soubory shellu. Úvod do Operačních Systémů Přednáška 8
Přednáška 8 Proměnné. Psaní a ladění skriptů. Parametry skriptu. Vstup a výstup. Konfigurační soubory shellu. 1 Proměnné Jména nových proměnných by neměly kolidovat se jmény předdefinovaných proměnných.
VíceProgramování v C++ 1, 1. cvičení
Programování v C++ 1, 1. cvičení opakování látky ze základů programování 1 1 Fakulta jaderná a fyzikálně inženýrská České vysoké učení technické v Praze Zimní semestr 2018/2019 Přehled 1 2 Shrnutí procvičených
VíceDUM 06 téma: Tvorba makra pomocí VBA
DUM 06 téma: Tvorba makra pomocí VBA ze sady: 03 tematický okruh sady: Tvorba skript a maker ze šablony: 10 Algoritmizace a programování určeno pro: 4. ročník vzdělávací obor: 18-20-M/01 Informační technologie
VícePředpoklady správného fungování formulářů
Předpoklady správného fungování formulářů Uživatelská příručka Aktualizováno: 19. 2. 2018 Obsah 1 Úvod... 3 2 Systémové požadavky... 3 3 Práce s přílohami... 3 4 MS Internet Explorer... 3 4.1 Instalace
VíceUnity a Objekty (NMIN102) RNDr. Michal Žemlička, Ph.D.
Unity a Objekty Programování 2 (NMIN102) RNDr. Michal Žemlička, Ph.D. Větší programy Časté problémy: Ve více programech by se nám hodilo využít stejné řešení nějakého podproblému dalo by se vyřešit překopírováním
VícePB161 Programování v jazyce C++ Přednáška 4
PB161 Programování v jazyce C++ Přednáška 4 Přetěžování funkcí Konstruktory a destruktory Nikola Beneš 9. října 2017 PB161 přednáška 4: přetěžování funkcí, konstruktory, destruktory 9. října 2017 1 / 20
VíceProjekt do předmětu PAS. Textový editor
Projekt do předmětu PAS Textový editor 1. prosince 2005 Kamil Dudka, xdudka00@gmail.com Fakulta informačních technologií Vysoké Učení Technické v Brně Obsah 1 Úvod 1 2 Návrh 1 2.1 Uživatelskérozhraní.....
VícePHP. nejen pro začátečníky. $c; echo { Martin Pokorný. Vzdìlávání, které baví www.c-media.cz. Nakladatelství a vydavatelství.
}else{ { if($b >$ c){ echo $max=$b; // vypí }else{ echo $max=$c; // vypí?> cas se }e B : se{ echo B ; default: ($b>$c){ echo C ; } $max=$b; }else{ $max=$c; PHP nejen pro začátečníky k;?> $c; echo { Martin
Více