• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    XCHAOSANSI C/C99 (specifikace), GNU C (gcc, glibc), Tiny C (tcc) a POSIX - ne nutně C++,g++,libstdc++ nebo Win32 API
    /* Toto je klub především pro lidi, pro které je programování jednou z mnoha massive multiplayer online počítačových her, které lze hrát.
        V tomto klubu hrozí sémantická hereze a nezdravě vysoký obsah syntaktického cukru. Nevhodné pro algoritmické diabetiky.
        Od účastníků debaty se předpokládá automaticky přístup k instalovanému GNU C: sudo apt-get install build-essential
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    C (programovací jazyk)#C99 Heslo na české Wikipedii
    Jazyk C - Základy praktického programování V Praze 2oo7 pro SSPŠ Tomáš Harvie Mudruňka a kolektiv - jak si programování v C představuje většina lidí
    http://stevenkobes.com/ctest.html C Programming Puzzlers - nepouštějte se do flamewars v tomhle klubu, pokud neuhodnete aspoň polovinu správně!
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    http://en.wikipedia.org/wiki/C99 C99 is a modern dialect of the C programming language.
    http://cprogramminglanguage.net/ C programming language
    http://cprogramminglanguage.net/c-programming-language-tutorial.aspx C programming language - úvod
    http://en.wikipedia.org/wiki/Criticism_of_the_C_programming_language C makes it easy to shoot yourself in the foot. (ještě že ne do hlavy...)
    http://en.wikipedia.org/wiki/C_preprocessor
    http://gcc.gnu.org/onlinedocs/gcc/Variadic-Macros.html C99 makra s proměnným počtem argumentů - __VA_ARGS__
    http://gcc.gnu.org/onlinedocs/gcc/ GNU C Compiler
    http://gcc.gnu.org/onlinedocs/gcc-4.2.2/gcc/Optimize-Options.html
    http://bellard.org/tcc/ Tiny C Compiler - prý C99 compliant (min. umí __VA_ARGS__) - vhodný pro skriptování v C - umí #!/usr/bin/tcc -run
    http://en.wikipedia.org/wiki/International_Obfuscated_C_Code_Contest - pokud jste neviděli tohle, tak jste ještě neviděli opravdu nečitelný C zdroják
    http://bellard.org/otcc/ Obfuscated Tiny C Compiler - z tohohle vtípku vznikl Tiny C compiler
    http://en.wikipedia.org/wiki/ANSI_C Jak se střelit do nohy standardizovaným způsobem.
    http://eli-project.sourceforge.net/c_html/c.html ANSI C Specification
    http://www.lysator.liu.se/c/ Různý ANSI C bordel
    http://www.cs.rit.edu/~ats/books/ooc.pdf Object Oriented Programming with ANSI-C - a pak že to nejde
    http://en.wikipedia.org/wiki/Longjmp co jsou to setjmp()/longjmp() knihovní funkce (pro všechny, podle kterých to bez C++ try { } catch() ... nejde)
    http://groups.google.com/group/comp.lang.c++.moderated/browse_thread/thread/dcdc710c27f47c72 C neumí správně počítat (?)
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    http://www.fastcgi.com/ FastCGI is simple because it is actually CGI with only a few extensions.
    http://www.metalshell.com/source_code/18/Mysql_Select.html How to do a simple connection and select with mysql
    http://xmlsoft.org/ The XML C parser and toolkit of Gnome
    http://curl.haxx.se/libcurl/ libcurl - the multiprotocol file transfer library
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    https://dev.arachne.cz/svn/cll1h SVN/Trac jazyka C<<1 (user-friendly nadstavba nad ANSI C99 - ve stylu JQuery vs. JavaScript)
    Benchmark iterace a serializace stringů v různých jazycích vs. v C
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        moderátor se velice zhruba řídí zvyklostmi moderace, která kdysi platila v řadě konferencí sítě FidoNet ... C != 0xdead */
    rozbalit záhlaví
    WILD_A
    WILD_A --- ---
    KILLUA: Jo uz chaou ty chces nejaky extra veci na ty promeny, kdyz to ten dolar nebere, promin, nejak mne to vubec nenapadlo

    Ad VS jako v monha vecech je dobry, ale kdyz se clovek uci tak je to spis na obtiz jelikoz cloveku neni jasny co se deje, priapdne kde sakra reknu ze neco chci aby se delo.

    V tomhle ohledu zlatej Makefile, i kdyz Makefile generovanej autotools uz moc zlatej neni :)
    KILLUA
    KILLUA --- ---
    Wild: No ten notepad nedovolí změnit zvýraznění pro existující jazyk, ale můžeš si vytvořit profil vlastního jazyku, který bude úplně identický s C, akorát si tam přidáš jaké chceš pravidla pro zvýraznění - nevěděl sem jestli to jde a teď už vím, že jo.

    Jo, magického to celkem sedí :-D hlavně nabídka pro nalinkování dalších knihoven schovaná 4 nebo kolik kliků v nastavení.. já to prostě nemohl najít.
    WILD_A
    WILD_A --- ---
    KILLUA: No Visual studio je hned z kraje vleky sousto, deje se tam mnoho magickeho a ne zcela zrejmeho, mozna bych radsi zkusil bych jit cestou cygwin/gcc jelikoz tam je mnoho veci explicitne videt. Sice visual studio funguje v podstate stejne nicmene to schovava.

    KILLUA: A na co potrebujes definovat vlastni jazyk kdyz to chces pro C? Nejak nechapu ucel.
    DAVIDOWITCH
    DAVIDOWITCH --- ---
    KILLUA: Tak se podiva do toho souboru, protoze vi jak vypada include command.
    KILLUA
    KILLUA --- ---
    Takže v notepadu++ si skutečně lze nadefinovat syntax pro vlastní jazyk (zobrazit-uživatelksy definovaná syntaxe), stačí tedy napodobit tu z původního jazyka a přiřadit novému jazyku příslušné přípony souborů. No vida :)
    KILLUA
    KILLUA --- ---
    Davidowitch: To dává smysl, ale co když sem si to definoval v nějakém souboru co includuju?

    Wild: No to je mi jasný, že to za 60 minut nebude už ho nějaký týden oťukávám, rozjet visual studio a nalinkovat externí knihovny byla samo o sobě výzva... .

    Buď mám starou verzi (dost možný), nebo sem slepej ale právě sem to v notepadu++ nenašel lze tam definovat jenom vlastní celé slovo ale ne něco jako slovo.*
    Ale určitě to nějak půjde, protože teď čtu o úplně vlastních programovacích jazycích a že je to podporuje.
    WILD_A
    WILD_A --- ---
    KILLUA: notepad++ ma zrovna mod pro C/C++ a syntax highlight zvlada v pohode.
    WILD_A
    WILD_A --- ---
    Je to poznat z gramatiky, coz neni zrovna zrejmy ctenari, kterej to nema nakoukany nebo nema ulktrarychlej obvod v mozku pro parsovani bezkontextovych gramatik :) Nicmene algoritmus je to celkem jednoduchej a jasnej, takze to parser dobre pozna to plati i v pythonu, tam je to taky jasny z gramatiky. Kazdopadne dolar pred promenou je blbost.


    KILLUA: To uz si stihnul doprogramovat se k sesty kapitole? To ses fakt rychlej nebo si to preskakal na rychlo? Pokud na rychlo tak je jasny, ze se v tom v sesty kapitole ztracis protoze je tam uz prilis mnoho noveho, neni to tutorial na odpoledne, ale na to aby se clovek naucil veci poradne a to znamena ze tim zabije nejakej cas. C neni uplne snadnej jazyk na nauceni, tj learn C in 60 minutes fakt nefunguje, kdyz o tom moc nevis.
    DAVIDOWITCH
    DAVIDOWITCH --- ---
    KILLUA: Ja zas neumim PHP, ale v C musej bejt vsechny promenny deklarovany. Tj. musis nejdriv rict "int a;" a pak uz ty, prekladac i highlighter vite ze "a" je promenna (typu int). Dalsi deklarace "a" ve stejnym scope neni validni, priradit tam string taky nemuzes atdatd.
    A zaroven nemuzes udelat "a = neco" a cekal ze se ti vyrobi "a" spravnyho typu.
    Takze, vyhoda silne typovanyho jazyka je, ze to proste poznas ze syntaxe.
    A treba Python to pozna taky, i kdyz tyhle deklarace nema, ale uplne si nejsem jistej jak (kdybych mel tipnout, co neni klicovy slovo nebo funkce bere, v prvnim priblizeni, za promennou).
    Jo, a last but not least, kdyz to pozna prekladac, musi to umet poznat i neco co dela syntax highlight.

    (A jo, ted me nekdo chytne za slovo ze deklarace typu bejt nemusi, protoze v prehistorickym standardu C fungovalo ze kdyz to nema typ, je to int...)
    KILLUA
    KILLUA --- ---
    Ale jestliže proměnné v c nejsou nijak odlišené jak je cokoli pozná od ostatních částí kódu?
    Představoval sem si to tak, že by třeba nějaký plugin třeba pro notepad++ povoloval rozlišit zvýraznění dle třeba toho začátečního písmena (nějakého regex) pravidla.
    DAVIDOWITCH
    DAVIDOWITCH --- ---
    KILLUA: Ne, od toho je sytanx/semantic highlighting v (dopln svuj oblibeny editor/IDE)
    KILLUA
    KILLUA --- ---
    Ale ještě jeden dotaz z PHP sem celkem navyklej na ten dolar před proměnejma - lépe se v kódu orientuje, myslíte je dobrej nápad psát kód takhle? xprom1, xprom2
    tedy dávat vždy na začátek třeba x, nebo jiné písmeno? A co třeba _prom1, _prom2 jde?
    KILLUA
    KILLUA --- ---
    No díky, asi u 6 kapitoly návodu psaní lispu jsem raději utekl. Mám pocit, že by mě to přecijen pletlo psát vlastní jazyk když vůbec neumím ani to C.

    Xchaos - ta práce se sdl bude stejná i ve win, nebo ne? Ale dík.
    XCHAOS
    XCHAOS --- ---
    Lisp jako "primitivní hra"? hmm... :-)
    REDGUY
    REDGUY --- ---
    KILLUA: Jezis, ja jsem dneska uplne retardovanej. Ted teprve jsem kouknul a ten link od WILD_A a vidim, ze to je neco trochu jinyho nez jsem myslel. Teda, obsahove to je ono a moje chvala te rady porad plati, ale to co jsem myslel ja je https://github.com/kanaka/mal , vynikajici navod jak napsat interpretr Lispu v cemkoliv, vcetne toho C. Cituji, Mal is a learning tool. Each implementation of mal is separated into 11 incremental, self-contained (and testable) steps that demonstrate core concepts of Lisp. The last step is capable of self-hosting (running the mal implementation of mal).
    REDGUY
    REDGUY --- ---
    REDGUY: Eeeh, predchozi zprava je pochopitelne adresovana KILLUA 8)
    REDGUY
    REDGUY --- ---
    WILD_A: Tohle je popravde receno uplne nejlepsi mozna odpoved. Protoze (a) splni co to chces, naucis se C na praktickym prikladu, a zaroven (b) naucis se LISP, cili uplne jinej pohled na programovani nez zatim mas (podle toho cos napsal ze umis).
    XCHAOS
    XCHAOS --- ---
    KILLUA: pod Linuxem se na programování her snad měla používat knihovna SDL. přiznám se, že moc zkušeností s tím nemá, čistě céčkové API ale rozhodne nabízí, viz např.
    Linux Game Programming Tutorial 1: Introduction / First SDL - Game Programming Tutorials | Dream.In.Code
    http://www.dreamincode.net/...topic/290187-linux-game-programming-tutorial-1-introduction-first-sdl/
    WILD_A
    WILD_A --- ---
    Za mne je tohle nejlepsi tutorial, nauci C a zaroven Lisp .... http://www.buildyourownlisp.com/
    KILLUA
    KILLUA --- ---
    Zdravím, zvládám PHP, Javascript a rozhodl sem se začít učit i něco jiného po dlouhém vybírání sem se rozhodl pro čisté C s tím, že budu pracovat a kompilovat v C++ prostředí, abych případně mohl použít C++ když by mi v C něco chybělo.

    Nejlépe se vždycky učím na nějakém praktickém příkladu a proto vlastně píšu sem, chci se zeptat jestli nevíte o nějakých dobrých tutorialech např. o vývoji nějakých primitivních her. Něco sem si už našel na googlu, ale neuškodí se zeptat. I z toho PHP vím, že nějaké jakoby triviální věci co strašně usnadní programování "objeví" člověk i za rok dva... když ho někdo neupozorní.
    GIOMIKY
    GIOMIKY --- ---
    Mam pocit, ze cecko neni uplne spatny pro konstrukci kompileru
    Ted koukam na tohle:
    University of Salzburg - Introduction to Compiler Construction
    http://vimeopro.com/user12798068/university-of-salzburg-introduction-to-compiler-construction
    A je to celkem zajimavy
    Kliknutím sem můžete změnit nastavení reklam