• ú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 --- ---
    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.
    XCHAOS
    XCHAOS --- ---
    Zajimavy nazor z clanku o Piictu na tyinternety.cz | Podnikani v USA
    http://www.podnikanivusa.com/2011/08/16/zajimavy-nazor-z-clanku-o-piictu-na-tyinternety-cz/#comment-289405291
    Definuj pojem „dobrý programátor“. To je jádro pudla. Nabízím nějaké možnosti, abych ilustroval, že celý problém je ve vágnosti tohoto slova „dobrý“:
    XCHAOS
    XCHAOS --- ---
    C++ 2011 and the Return of Native Code - Slashdot
    http://developers.slashdot.org/story/11/08/18/187231/C-2011-and-the-Return-of-Native-Code
    ... sice je to tu offtopic, ale se základní myšlenkou comebacku nativního kódu souhlasím.

    jenom mi C++11 přijde ještě složitější než staré C++, co jsem se tak letmo koukal :-)
    XCHAOS
    XCHAOS --- ---
    ANT_39: striktně vzato je to tady offtopic :-)

    (ovšem já jsem před časem navrhl dva další operátory v C, které by společně umožňovaly rekurzi uvnitř C expressionů :-) mohly by se zapisovat třeba @ a $ nebo tak něco :-) naštěstí jejich implementace přesahuje moje možnosti coby osamělého infoteroristy)
    ANT_39
    ANT_39 --- ---
    XCHAOS: Uz bylo na case, aby se to tam dostalo. Existuje asi tak 10 knihoven, ktery ti to do C++ dokazou propasovat i tak--pokud vis presne, do posledni carky, jak to napsat. Kdyz nevis, tak ty chybovy hlaseni ti zlomi krk. Sablony v sablonach jinych sablon atd.
    XCHAOS
    XCHAOS --- ---
    C++0x Finally Becomes a Standard - Slashdot
    http://developers.slashdot.org/story/11/08/16/178227/C0x-Finally-Becomes-a-Standard
    lambda funkce v C++ ? no ty krávo.
    XCHAOS
    XCHAOS --- ---
    DAVIDOWITCH: ach jo, to jsou zase flejmy...

    prostě spoják (což je čirou náhodou MOJE oblíbená datová struktura, dílem skutečně i kvůli tomu, že jsem neznal realloc - ale NEJEN kvůli tomu...) bude mít s konzervativní garbage collection celou řadu problémů, podle mě: víceméně, celou alokovanou paměť musíš scanovat, zda neobsahuje pointer sama do sebe - a při větším množství alokované paměti to vidím dost jako problém.

    moje kontexty se chovají divně, pokud v nich někdo použije break - ale aspoň se chovají DETERMINISTICKY divně. nemůžu si pomoct, ale konzervativní GC může podle mě vést k nedefinovanému chování - pokud se aplikace pustí do nějaké odvážnější pointerové aritmetiky.
    DAVIDOWITCH
    DAVIDOWITCH --- ---
    XCHAOS: Zacyklenej spojak, nebo jen spojak?

    A kazat o cteni manualu z pozice nekoho kdo se ptal kdy do Ccka pridali realloc je prinejmensim usmevne (ref: http://linux.die.net/man/3/malloc )
    Kliknutím sem můžete změnit nastavení reklam