abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 04:55 | Nová verze

    OpenJS Foundation, oficiální projekt konsorcia Linux Foundation, oznámila vydání verze 22 otevřeného multiplatformního prostředí pro vývoj a běh síťových aplikací napsaných v JavaScriptu Node.js (Wikipedie). V říjnu se verze 22 stane novou aktivní LTS verzí. Podpora je plánována do dubna 2027.

    Ladislav Hagara | Komentářů: 0
    dnes 04:22 | Nová verze

    Byla vydána verze 8.2 open source virtualizační platformy Proxmox VE (Proxmox Virtual Environment, Wikipedie) založené na Debianu. Přehled novinek v poznámkách k vydání a v informačním videu. Zdůrazněn je průvodce migrací hostů z VMware ESXi do Proxmoxu.

    Ladislav Hagara | Komentářů: 0
    dnes 04:11 | Nová verze

    R (Wikipedie), programovací jazyk a prostředí určené pro statistickou analýzu dat a jejich grafické zobrazení, bylo vydáno ve verzi 4.4.0. Její kódové jméno je Puppy Cup.

    Ladislav Hagara | Komentářů: 0
    včera 22:44 | IT novinky

    IBM kupuje společnost HashiCorp (Terraform, Packer, Vault, Boundary, Consul, Nomad, Waypoint, Vagrant, …) za 6,4 miliardy dolarů, tj. 35 dolarů za akcii.

    Ladislav Hagara | Komentářů: 6
    včera 15:55 | Nová verze

    Byl vydán TrueNAS SCALE 24.04 “Dragonfish”. Přehled novinek této open source storage platformy postavené na Debianu v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 13:44 | IT novinky

    Oznámeny byly nové Raspberry Pi Compute Module 4S. Vedle původní 1 GB varianty jsou nově k dispozici také varianty s 2 GB, 4 GB a 8 GB paměti. Compute Modules 4S mají na rozdíl od Compute Module 4 tvar a velikost Compute Module 3+ a předchozích. Lze tak provést snadný upgrade.

    Ladislav Hagara | Komentářů: 0
    včera 04:44 | Nová verze

    Po roce vývoje od vydání verze 1.24.0 byla vydána nová stabilní verze 1.26.0 webového serveru a reverzní proxy nginx (Wikipedie). Nová verze přináší řadu novinek. Podrobný přehled v souboru CHANGES-1.26.

    Ladislav Hagara | Komentářů: 0
    včera 04:33 | Nová verze

    Byla vydána nová verze 6.2 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Přehled změn v příslušném seznamu. Tor Browser byl povýšen na verzi 13.0.14.

    Ladislav Hagara | Komentářů: 0
    včera 04:22 | Nová verze

    Byla vydána nová verze 30.0.0 frameworku pro vývoj multiplatformních desktopových aplikací pomocí JavaScriptu, HTML a CSS Electron (Wikipedie, GitHub). Chromium bylo aktualizováno na verzi 124.0.6367.49, V8 na verzi 12.4 a Node.js na verzi 20.11.1. Electron byl původně vyvíjen pro editor Atom pod názvem Atom Shell. Dnes je na Electronu postavena celá řada dalších aplikací.

    Ladislav Hagara | Komentářů: 2
    včera 04:11 | Nová verze

    Byla vydána nová verze 9.0.0 otevřeného emulátoru procesorů a virtualizačního nástroje QEMU (Wikipedie). Přispělo 220 vývojářů. Provedeno bylo více než 2 700 commitů. Přehled úprav a nových vlastností v seznamu změn.

    Ladislav Hagara | Komentářů: 0
    KDE Plasma 6
     (72%)
     (9%)
     (2%)
     (17%)
    Celkem 738 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    Programování v jazyce D (2): Instalace, nastavení, první programy

    23. 12. 2011 | Daniel Kolesa | Programování | 13266×

    Po delší časové pauze pokračuji se seriálem. V dnešní lekci si nainstalujeme kompilátor jazyka D, probereme sestavování programů a zkusíme si napsat nějaké ty prográmy na úvod. Potom bude nějaký "domácí úkol" a to by mělo být dost jako příprava na další lekci. Také zopakuji nějaké základní věci. Každý díl seriálu bude zahrnovat tři lekce a bude vycházet jednou týdně.

    Obsah

    Lekce 0 – instalace a nastavení

    link

    Dobrá, co budeme potřebovat?

    link

    Ještě než začneme s instalací, chtěl bych dodat, že seriál je napsaný pro platformy FreeBSD/Linux a na systémech typu Mac OS X a Windows se budou jednotlivé kroky mírně lišit, ale počítačově zdatný uživatel (což by čtenář tohoto seriálu měl být) by to měl zvládnout bez problému.

    Tak za prvé, pořiďte si kvalitní textový editor. To je naprostý základ, věci jako automatické doplňování, zvýrazňování syntaxe, auto-indent apod. jsou velice užitečné při jakékoliv další práci. Já doporučuji např. Geany, který má i některé funkce IDE, pak samozřejěmě existuje Vim, editory jako gedit, Kate apod. by měly být také dostačující. Nainstalujte tedy váš oblíbený editor přes balíčkovací systém, popř. ze zdrojového kódu.

    No, editor máme, jenže kód je třeba taky něčím kompilovat. S jazykem D máme na výběr několik kompilátorů, referenční (dmd) by měl stačit; s ním budeme v tomto seriálu pracovat. Dále je možné použít gdc a ldc, ldc na rozdíl o dmd umí tvořit dynamické knihovny, nicméně s nimi moc pracovat nebudeme. To už si každý zdatný uživatel zjistí sám.

    A kromě toho také budeme potřebovat runtime knihovnu a standardní knihovnu. Doporučuji i kvalitní emulátor terminálu (gnome-terminal, konsole, xfce4-terminal, eterm..) a shell (např. zsh). A nezapomeňme na debugger (gdb funguje bez problému).

    Instalace DMD, Druntime a Phobos

    link

    Celým názvem Digital Mars D, DMD je referenčním kompilátorem jazyka D. Ostatní kompilátory vesměs využívají jeho frontend. Druntime je runtime knihovna pro D, potřebují ji všechny D programy. Obsahuje základní věci jako správu vláken, garbage collector, základní typové aliasy, RTTI, správu výjimek apod. Oproti tomu Phobos je knihovnou volitelnou, obsahující všechno, co nepatří do jádra (např. algoritmy, sockety, streamy...).

    Vše dohromady se dá stáhnout pro některé distribuce jako balíček, který se snadno nainstaluje a není to třeba nijak moc vysvětlovat, nicméně my si zkusíme nainstalovat kompilátor a knihovny ručně z git repozitáře. Pokud nemáte git nainstalovaný, nainstalujte jej. Kromě toho budeme potřebovat i C++ kompilátor a Make utilitu (nainstalujte cestou specifickou pro vaši distribuci).

    DMD

    link
    # git clone git://github.com/D-Programming-Language/dmd.git #
    naklonujeme si repozitář
    # cd dmd/src # odtud budeme kompilovat
    # make -f posix.mak # přidejte MODEL=64 pro 64bit dmd, -jN pro
    kompilaci s několika vlákny, na FreeBSD použijte gmake místo make
    # mkdir -p /usr/local/dmd/{bin,lib,include} # vytvoříme si prefix
    # mkdir -p /usr/local/dmd/include/d/dmd/{druntime,phobos}
    # cat << EOF > /usr/local/dmd/bin/dmd.conf # konfigurační
    soubor pro dmd, nastavuje cesty k importům a knihovnám
    [Environment]
    DFLAGS=-I/usr/local/dmd/include/d/dmd/phobos
    -I/usr/local/dmd/include/d/dmd/druntime/import -L-L/usr/local/dmd/lib
    -L--no-warn-search-mismatch -L--export-dynamic
    EOF
    # cp dmd /usr/local/dmd/bin # zkopírujeme dmd binárku
    # # nastavte si $PATH tak, aby v cestě byl i /usr/local/dmd/bin
    # cd ../..
    

    Myslím, že nic moc navíc není třeba vysvětlovat. Přejdeme na druntime.

    Druntime

    link
    # git clone git://github.com/D-Programming-Language/druntime.git #
    naklonujeme si repozitář
    # cd druntime
    # make -f posix.mak # platí stejná pravidla jako pro dmd
    # cp -r import /usr/local/dmd/include/d/dmd/druntime # zkopírujeme
    knihovny
    # cp lib/libdruntime.a /usr/local/dmd/lib # zkopírujeme knihovnu
    # cd ..
    

    Phobos

    link
    # git clone git://github.com/D-Programming-Language/phobos.git
    # cd phobos
    # make -f posix.mak # viz nahoře
    # cp -r etc std *.d /usr/local/dmd/include/d/dmd/phobos
    # cp generated/*/release/*/libphobos2.a /usr/local/dmd/lib
    # cd ..
    

    Spuštění

    link

    Tím je vše nainstalováno. Zkusíme dmd spustit. Měli byste vidět něco jako:

    # dmd|head -n3
    DMD64 D Compiler v2.057
    Copyright (c) 1999-2011 by Digital Mars written by Walter Bright
    Documentation: http://www.digitalmars.com/d/2.0/index.html
    

    A můžeme se pustit do programování! :)

    Domácí úkol

    link

    Zkuste si nainstalovat LDC a GDC. Nebudou potřeba pro začátek, ale možná se budou hodit, pokud to s D myslíte vážně.

    LDC lze najít na https://github.com/ldc-developers. GDC najdete na https://bitbucket.org/goshawk/gdc/overview/.

    Nainstalovat LDC bude asi snažší, protože gcc je velký balík. Pro instalaci LDC budete muset nainstalovat také CMake a LLVM (momentálně požadována verze 3.0).

    Lekce 1 – první programy

    link

    Ještě než začneme, doporučuji vytvořit si adresář na své projekty a ten si přehledně organizovat. Bude se to hodit. Začněme tedy s prvním programem.

    import std.stdio;
    void main()
    {
        writeln("můj první D program!");
    }
    

    Zkusme jej nyní zkompilovat!

    # dmd test.d -oftest
    # ./test
    můj první D program!
    

    Nyní, co náš program vlastně dělá? :)

    První řádek „načte“ modul pojmenovaný std.stdio (std je "balík" modulů poskytovaný standardní knihovnou Phobos, stdio znamená "standard input and output" jakožto standardní vstup a výstup).

    Všechny programy v D musí mít hlavní funkci, ve které začíná a končí celý běh programu. Pro ty znalé jazyka C, popř. C++ je to hodně podobné, ale všimněte si: hlavní funkce v D nemusí nic vracet.

    Naše „hlavní funkce“ obsahuje pouze jeden řádek, tzn. writeln(...). Funkce writeln je poskytována už dříve načteným modulem std.stdio. Tato funkce chce jeden nebo více „argumentů“, tzn. hodnot. S těmito argumenty funkci voláme, v našem případě je argument jen jeden, a to „můj první D program!“, což je řetězecový literál (o nich později). Prozatím o řetězcových literálech musíme vědět, že se zapistují ve dvojitých uvozovkách. Jednoduché uvozovky znamenají v jazyce D jeden znak. Funkce writeln ale bere argumenty jakéhokoliv typu. Všechny se vypíšou na terminál hned za sebou. Na konec se přidá znak nového řádku.

    writeln("tímto tisknu číslo: ", 5, " a tohle je znak: ", 'X', " a tohle je desetinné číslo: ", 3.14);

    Můžete si říct, no jo, ale to vypadá dost nepřehledně, a lokalizace taky nebude jednoduchá. A máte samozřejmě pravdu. Z toho důvodu se dají řetězce formátovat, podobně jako v jazyce C.

    writefln("tímto tisknu číslo: %d, a tohle je znak: %s, a tohle je desetinné číslo: %f", 5, 'X', 3.14);

    Pro Cčkaře, ti ví, že formátovací značky jsou typově specifické; toto existuje i v D, ale také se dá použít %s pro jakýkoliv typ a bude to fungovat; specifické značky jsou spíše pro pokročilejší formátování.

    Z rodiny funkcí write jsou zde přítomny:

    write
    writeln
    writef
    writefln
    

    Zkuste zjistit, co dělají! :) Nicméně o formátování se budeme bavit později, a tam si i rozebereme, jak to vše funguje. Pokud chcete zkoušet dopředu, dokumentace na webu jazyka (http://d-programming-language.org) je vám k dispozici :-))

    Domácí úkol

    link

    1) použijte escape sekvence (\n) k vytištění více řádků pomocí writeln.

    2) použijte funkci write s escape sekvencí \n tak, aby se chovala jako writeln.

    3) vytiskněte několik řádků pomocí několika volání funkcí write a writeln.

    4) zkuste napsat řádek kódu za // a několik řádků kódu mezi /* a */. Zjistěte, jaký vliv na běh programu to má.

    Lekce 2 - komentáře a dokumentace

    link

    Toto jsem nakousl už v předchozí lekci. V každém programu je potřeba dělat poznámky, které vysvětlují takový kód, který není na první pohled jasný. K tomu slouží tzv. komentáře. Jazyk D má několik typů komentářů a každý se hodí v jiném případě. S tím hodně souvisí i dokumentace, na kterou se také podíváme.

    Často budete potřebovat udělat komentář na jeden řádek, popř. zakomentovat řádek kódu. K tomu slouží //. Příklad:

    // writeln(„toto se nespustí!“);

    Kód v komentářích se nebude parsovat. To znamená, že v komentáři může být zapsaný nevalidní kód a kompilátoru to nebude vadit.

    Řádkový komentář nemusí často stačit. Občas je třeba zakomentovat blok kódu a ne jen jeden řádek. V takových případech se kód zapíše mezi /* a */, např.

    /*
    writeln("tohle se nespustí.");
    writeln("toto se taky nespustí.");
    */
    

    Blokové komentáře mají zásadní nevýhodu v tom, že nemohou obsahovat vnořené blokové komentáře. To je často problém, když je třeba zakomentovat kus kódu obsahující takové komentáře. V takových případech se dá ale použít /+ a +/:

    /+
    /* vypiš něco */
    writeln("něco");
    /* toto jaksi nechce fungovat */
    writeln("nefunguje);
    +/
    

    Oproti /**/, komentáře /++/ mohou obsahovat neomezeně vnořených komentářů všech typů.

    S komentáři, jak už jsem dříve zmínil, úzce souvisí i dokumentace. Jazyk D má zabudovanou podporu pro dokumentaci (tzv. DDoc). Dokumentace je spravována také pomocí komentářů.

    Jediný rozdíl je v tom, že // se zapíše jako ///, /* */ jako /** */ a /+ +/ jako /++ +/. Několik příkladů:

    /// Dokumentační komentář
    
    /** Také dokumentační komentář */
    
    /** Několikařádkový dokumentační komentář
     * Další řádek
     */
    
    /*************
     * Další hvězdičky nejsou součástí dokumentace
     */
    
    /++ Také dokumentace +/
    

    Poslední dokumentační komentář se dá opakovat pomocí slůvka ditto:

    /** This has value of 5 */
    int a = 5;
    
    /** ditto */
    int b = 5
    

    Dokumentační komentář Ddoc je rozdělený na sekce. Dvě hlavní sekce jsou Summary (shrnutí) a Description (širší popis). Shrnutí je jednořádkový popis kódu. Širší popis může mít několik řádků.

    Shrnutí je volitelné. Tyto sekce jsou nepojmenované. Kromě toho existuje ještě několik standardních sekcí, které je nutné pojmenovat.

    /**
     * Toto je shrnutí, vždy první odstavec
     *
     * První odstavec popisu
     * Druhý řádek prvního odstavce
     *
     * Druhý odstavec popisu ..... atd
     */
    

    Standardní sekce

    link

    Autoři:

    /**
     * Authors: Daniel "q66" Kolesa <quaker66@gmail.com>, Herp
    J. Derp <herp@derp.com>
     */
    

    Bugy:

    /**
     * Bugs: This does not work.
     */
    

    Datum:

    /**
     * Date: February 31, 2000
     */
    

    Dále nepodporováno (deprecated):

    /** Deprecated: replaced by bar */
    deprecated void foo() { ... }
    

    Příklady:

    /**
     * Examples:
     * ------------
     * writeln("hello");
     * ------------
     */
    

    Historie:

    /**
     * History:
     *     version 1 - blablah
     *     version 2 - foobar
     */
    

    Licence:

    /**
     * License: MIT
     */
    

    Návratová hodnota:

    /**
     * A function
     * Returns: string "foo"
     */
    string foo() { return "foo"; }
    

    Zdroje:

    /**
     * See_Also:
     *     foo, bar, baz, http://google.com
     */
    

    Standardy:

    /**
     * Standards: ISO 1337
     */
    

    Vrací výjimku:

    /**
     * Throws: Exception on failure
     */
    void foo() { ... }
    

    Verze:

    /**
     * Version: 0.1.3.3.7
     */
    

    Speciální sekce

    link

    Některé mají speciální význam a syntaxi:

    Copyright:

    Tato sekce nastaví makro COPYRIGHT na obsah této sekce, pokud je to komentář k deklaraci modulu.

    /** Copyright: 2011 q66 */
    

    Parametry funkce:

    /**
     * blah
     * Params:
     *     a =    first parameter
                 
    first parameter doc continued
     *     b =    second
    parameter
     */
    void foo(int a, float b) { ... }
    

    Makra:

    Ty mají vlastní sekci, zapistují se podobně jako parametry. O makrech více o pár řádků později. Mají názvy zapsané velkými písmeny.

    /**
     * Macros:
     *     FOO = this is foo, argument $0
     *     BAR = this is bar, argument $0
     */
    

    Vnořené dokumentační komentáře

    link

    Ty se dají zapsat pomocí makra, $(DDOC_COMMENT nějaký komentář).

    Vnořený kód

    link

    Do DDoc komentářů se dá zapsat D kód, mezi řádky ze tří a více pomlček:

    /++
     + Some function
     + Example:
     + -----------------
     + foo("bar"); /* results in baz */
     + ---
     +/
    

    Vnořené HTML

    link

    HTML se dá vnořovat bez nějaké speciální syntaxe:

    /**
     * Some HTML:
     * <a href="foo">blah</a>
     */
    

    Makra

    link

    Makra v DDoc fungují podobně jako např. makra v C. Jsou to v podstatě „šablony“, které se dají zavoláním makra vložit na nějakou pozici v textu.

    Mohou mít argumenty, a volají se takto:

    $(NAZEVMAKRA arg1 arg2 arg3 arg4 argN)
    

    Mohou být definovány v sekci komentáře (viz nahoře), .ddoc souborech, mohou být předdefinované, popř. vygenerované přímo DDoc za běhu. Redefinice makra nahradí starou verzi. Parametry makra se v makru zapisují jako $ARGNUM (od nuly do N).

    RED    = <span style="color:red">$0</span>
    

    Ostatní

    link

    Pokud např. funkce foo má argument bar a slůvko bar se objeví někde v popisu, tak se automaticky vygeneruje hyperlink. To platí i pro ostatní definice, nejen argumenty. Pokud je třeba tomuto chování předejít, je nutné přidat podrtžítko (např. _bar). Některé znaky (<, >, &) mají speciální význam, a proto se zapisují jako (&lt;, &gt; a &amp;). DDoc je možné využít nejen pro vloženou dokumentaci v kódu, ale i samosatatně, zapsaný v souborech .ddoc. Tak je např.  vygenerována webová stránka http://d-programming-language.org.

    Kompletní dokumentaci k DDoc lze nalézt zde: http://www.d-programming-language.org/ddoc.html.

    Vytvoření HTML z .d, popř. .ddoc souborů

    link

    To je jednoduché, stačí kompilovat jako obvykle, jen přidat k dmd volání parametr -D. Je možné specifikovat i výstupní adresář, pomocí -Djméno, a výstupní soubor, -Dfjméno. Použijte parametr -c, aby kompilátor nevolal linker. Výsledný HTML soubor bude uložený jako nazev_d_souboru.html.

    Domácí úkol

    link

    1) Zdokumentujte dříve napsané kusy kódu a vygenerujte HTML.

    2) Zkuste si napsat nějaká vlastní makra.

           

    Hodnocení: 75 %

            špatnédobré        

    Nástroje: Tisk bez diskuse

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    Bystroushaak avatar 23.12.2011 12:06 Bystroushaak | skóre: 36 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: Programování v jazyce D (2): Instalace, nastavení, první programy
    Nic proti snaze, ale v prvním dílu jsi psal že seriál bude
    Tspíš takovou pomocí, jak se v D zorientovat a jak s ním pracovat.
    Imho by sis měl rozmyslet jestli ti jde o popsání D, nebo výuku programování v D, nebo výuku programování nováčků v jazyce D. Míchat to všechno dohromady působí docela divně.
    23.12.2011 12:49 ---- | skóre: 33 | blog:
    Rozbalit Rozbalit vše Re: Programování v jazyce D (2): Instalace, nastavení, první programy
    Jde o výuku programování v D bez potřebné předcházející znalosti jazyka C/C++. Všechny další díly budou pokračovat stylem 3 lekce / každá nějaký záměr.
    petka avatar 23.12.2011 13:09 petka | skóre: 25 | blog: heydax | Klasterec N/O
    Rozbalit Rozbalit vše Re: Programování v jazyce D (2): Instalace, nastavení, první programy

    Pekne .

    Ubuntu server - Asus E35M1​-M ​- AMD Hudson M1 , 2x Technisat Skystar2 , 2x 1GB Lan , WiFi mod AP ,vdr,mysql,apache2...
    23.12.2011 14:27 kralyk z abclinuxu | skóre: 29 | blog:
    Rozbalit Rozbalit vše Re: Programování v jazyce D (2): Instalace, nastavení, první programy
    Trochu mě zaskočila ta poznámka o dynamických knihovnách - dmd opravdu neumí vytvářet shared objecty?

    Jinak v té přislušné větě (o dynamických knihovnách) je překlep: "o" → "od".
    23.12.2011 14:42 ---- | skóre: 33 | blog:
    Rozbalit Rozbalit vše Re: Programování v jazyce D (2): Instalace, nastavení, první programy
    Zatím neumí; s moduly a GC je to složité; nicméně jeden z developerů má na svým forku podporu pro PIC a dynamické knihovny, je možné, že se dostane už do příštího release.
    Frt avatar 23.12.2011 15:41 Frt | skóre: 13 | blog: Frtoviny | Ostrava
    Rozbalit Rozbalit vše Re: Programování v jazyce D (2): Instalace, nastavení, první programy
    Dobra prace. Doufam, ze serial neumre jako uz mnoho jinych :-) Diky
    30.12.2011 15:42 Jack
    Rozbalit Rozbalit vše Re: Programování v jazyce D (2): Instalace, nastavení, první programy
    Je tu nejaka spojitost s Michalem Kolesou nebo jen shoda jmen? Ciste ze zvedavosti.
    31.12.2011 00:02 ---- | skóre: 33 | blog:
    Rozbalit Rozbalit vše Re: Programování v jazyce D (2): Instalace, nastavení, první programy

    lol, samozřejmě jen shoda jmen :)

    10.1.2012 02:35 Tomato
    Rozbalit Rozbalit vše Re: Programování v jazyce D (2): Instalace, nastavení, první programy
    kedze nie som ziadny linuxovy guru ani nic podobne a pri snahe o nainstalovanie dmd pomocou navodu som dostal nasledujucu chybu: object.d: Error: module object is in file 'object.d' which cannot be read import path[0] = /usr/local/dmd/include/d/dmd/phobos

    vyriesil som to salamunsky a stiahol som si klikacku .deb a nainstaloval a dmd fici a preklada ako ma,ale aj tak by ma zaujimalo kde som urobil chybu podla navodu,nevedel by niekto poradit,dakujem
    I'm the biggest newbie! | l2c -> learn to code,n00b
    10.1.2012 12:03 ---- | skóre: 33 | blog:
    Rozbalit Rozbalit vše Re: Programování v jazyce D (2): Instalace, nastavení, první programy
    zapomněls na dmd.conf.
    10.1.2012 12:18 Tomato
    Rozbalit Rozbalit vše Re: Programování v jazyce D (2): Instalace, nastavení, první programy
    do dmd.conf som vlozil tie flagy vlozil, po googleni som nasiel este 1 verziu,ale ta tusim bola pre 64bit a ta mi hadzala 2 chyby v include
    I'm the biggest newbie! | l2c -> learn to code,n00b
    10.1.2012 13:22 ---- | skóre: 33 | blog:
    Rozbalit Rozbalit vše Re: Programování v jazyce D (2): Instalace, nastavení, první programy
    možná špatný prefix nebo tak něco..
    4.11.2021 10:55 spam
    Rozbalit Rozbalit vše Re: Programování v jazyce D (2): Instalace, nastavení, první programy
    I felt very happy while reading this site. This was really very informative site for me. I really liked it custom cabinets oxnard
    6.11.2021 08:31 spam
    Rozbalit Rozbalit vše Re: Programování v jazyce D (2): Instalace, nastavení, první programy
    Great site thanks admin. More power. weldingdenverco.com
    17.11.2021 07:04 spam
    Rozbalit Rozbalit vše Re: Programování v jazyce D (2): Instalace, nastavení, první programy
    Awesome! Learned alot thanks so much keep posting more. modesto wedding photography
    17.11.2021 12:27 spam
    Rozbalit Rozbalit vše Re: Programování v jazyce D (2): Instalace, nastavení, první programy
    Awesome! Learned alot thanks so much keep posting more. quality painting
    17.11.2021 12:56 spam
    Rozbalit Rozbalit vše Re: Programování v jazyce D (2): Instalace, nastavení, první programy
    I really loved it here but are there any recent updates? Thanks boob lift

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.