• ú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í
    XCHAOS
    XCHAOS --- ---
    DAVIDOWITCH: mě hlavně zaujalo, že odmítnutí konzervativního GC je v programátorském světě poměrně mainstream... zatímco tady ze mě kdekdo dělá exota, že mi nestačí a vymýšlím něco jiného.

    v čistém C nejde uvažovat o zavedení reference countery.... i kdyby se udělalo nějaké makro the() nebo let(), které by se používalo místo =, tak na konci scope nejde automaticky spustit nějakou událost (jako kromě mého makra forget / remember { } ... ano :-) možná bych mohl udělat ještě makro context { }, které by na svém konci prošlo reference countery)
    DAVIDOWITCH
    DAVIDOWITCH --- ---
    XCHAOS: Popovidej si s Tlustcem, ted urcite bude mit k Jave/C# co rict.
    XCHAOS
    XCHAOS --- ---
    A vida... fakt nejsem jediný, komu doporučované použití existujícího garbage collection nešlo moc pod nos: U GC je problém hlavně s přerušením práce programu po dobu GC. Samozřejmě existují concurrent a background implementace, ale i ty občas na chvíli zablokují běžící aplikaci.
    XCHAOS
    XCHAOS --- ---
    Hehe: Pro rádobyprogramátory rozmazlené správou paměti v Javě či C#... ... já se tady na NYXu úplně minul se spřízenými dušemi... tady programují všichni jen aby vydělali peníze a nic jiného je nezajímá... :-)
    XCHAOS
    XCHAOS --- ---
    » Automatická správa paměti deterministicky - Zmatení (programovacích) jazyků
    http://babel.blog.root.cz/2011/09/27/automaticka-sprava-pameti-deterministicky/
    XCHAOS
    XCHAOS --- ---
    The MINIX 3 Operating System
    http://www.minix3.org/
    REDGUY
    REDGUY --- ---
    XCHAOS: LOL. Hele, nevim jestli jsi o tom slysel, ale je ted takova nova vec, docela bomba. Nevim jak presne se to jmenuje, nejak jako guuglo? gaagle? giggle? Tak nejak, poptej se kamaradu, urcite to znaj, at ti to ukazou. Je to fakt bomba pro hledani veci na netu.
    XCHAOS
    XCHAOS --- ---
    REDGUY: tak pošli link...
    REDGUY
    REDGUY --- ---
    XCHAOS: Uz sis nastudoval jak to funguje v ObjC?
    XCHAOS
    XCHAOS --- ---
    ISTEVE: proč ne, ale mě teď zajímají všechny ty x - memory pooly a obstacky a tak... jako evidentně evoluce programování k tomu směřuje stejně, jako k oku u chobotnice nebo křídlům u netopýrů a pterodaktylů..
    ISTEVE
    ISTEVE --- ---
    XCHAOS: "asi bezne pouziva"... je to naprosto typickej priklad na amortizovanou analyzu slozitosti: http://en.wikipedia.org/wiki/Amortized_analysis#Examples
    XCHAOS
    XCHAOS --- ---
    XCHAOS
    XCHAOS --- ---
    XCHAOS
    XCHAOS --- ---
    tady raději nějaký xrealloc (viz příklad práce s readlink() ...)
    Symbolic Links - The GNU C Library
    http://www.gnu.org/s/hello/manual/libc/Symbolic-Links.html
    jinak ta strategie se zdvojnásobováním délky pole se tedy v C skutečně asi běžně používá. hmm...
    ANT_39
    ANT_39 --- ---
    K nedavne debate o memory poolech, jsem dneska nahodou narazil na tohle: http://talloc.samba.org/talloc/doc/html/index.html
    XCHAOS
    XCHAOS --- ---
    BBC News - When algorithms control the world
    http://www.bbc.co.uk/news/technology-14306146
    XCHAOS
    XCHAOS --- ---
    JACHYMKO: aha... no tak to se docela zajímavě doplňuje s těmi makry (kde zase takovéhle withColor můžu použít na volbu konkrétní verze kódu pro nějaký datový typ)
    XCHAOS
    XCHAOS --- ---
    ANT_39: tak teď si zmátl i mě :-) unused ? ... proč ? :-)
    ANT_39
    ANT_39 --- ---
    ANT_39: K tomuhle me napadla jeste nasledujici prasarnicka:

    #define NAMED(X) __attribute__ ((unused)) struct __##X##_struct_t X
    #define DEFNAMED(X) struct __##X##_struct_t {} X
    DEFNAMED(withColor);
    int drawPointAt (int x, int y, NAMED(withColor), unsigned color) {
      // ...
      return 0;
    }
    int main(int argc, char *argv[]) {
      return drawPointAt (10, 20, withColor, 100);
    }
    
    XCHAOS
    XCHAOS --- ---
    DAVIDOWITCH: ohledně množství dostupných vychytávek nehodlám nijak polemizovat.

    pouze tvrdím, že "méně je někdy více". a že jednoznačnost/nemožnost přetížení určitých struktur jazyka může být výhoda zejména pro... no, dejme to ne "začátečníky", ale "průměrně talentované vývojáře v produkčním prostředí".
    DAVIDOWITCH
    DAVIDOWITCH --- ---
    XCHAOS: Ma vic ficur. Furt muzes ignorovat 99% a jen si pretizit operator+ na Vec3f, aby ses z vektorovy matiky nezblaznil uplne. Nebo templatovat nejakou fci, misto uzasnych kras abs, fabs, fabsf.
    Kliknutím sem můžete změnit nastavení reklam