Tento web používá soubory cookie. Dalším používáním webu s tímto souhlasíte.
jméno
heslo
přihlásit
zaregistrujte se
zapomněli jste heslo?
ANSI C/C99 (specifikace), GNU C (gcc, glibc), Tiny C (tcc) a POSIX - ne nutně C++,g++,libstdc++ nebo Win32 API
XCHAOS
/* 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 */
Máte k tomu co říct? Vložte se do diskuze.
DAVIDOWITCH --- 11:10:37 17.12.2014
XCHAOS: jj, nactes buffer, prohodis buffer.. u tech utf8/16 musis poresit kdyz budes mit na konci bufferu jen pulku znaku.
Ale nechces mmapnout a jit odpredu-odzadu, protoze se v tom souboru useekujes xmrti.
XCHAOS --- 11:08:06 17.12.2014
DAVIDOWITCH: no, myslím to lze číst pořád od konce... nevím jak utf-16 ale utf-8 je snad dělané tak, že poznám, jestli sem přečetl začátek nebo ten doplňkový fragment (?), základ je vzít poslední dvouznak a rozhodnout se, jestli je to x+1 nebo 1 znak? prostě revertovat po bufferech načítaných z disku a vždy se rozhodovat, jestli mi něco zbývá.. voser, ale oddebugovatelný (jako ale napsat to z jedný vody načisto bez debuggingu bych si fakt netroufal :-)
DAVIDOWITCH --- 11:00:55 17.12.2014
XCHAOS: Jop, posral sem to.

Kazdopadne, ten out-of-core je zajimavej. Kor kdyz clovek zjisti ze ani 128GB pameti neni dost :-D
XCHAOS --- 10:50:48 17.12.2014
DAVIDOWITCH: jo, no, mě zmátlo těch 8 bitů (nejen mě)
DAVIDOWITCH --- 10:18:59 17.12.2014
ANT_39: Pravdu dis, sem to psal narychlo mezi meetingama :-)

XCHAOS: Ma.. ale ja pomerne explicitne psal utf16 ;-)
A mmap je jen metoda jak dostat stranku co zrovna chces do pameti. Kdyz na tom zkusis random access pres celou pamet, tak umres at to mas mmapem nebo manualne.
XCHAOS --- 10:17:09 17.12.2014
ANT_39: AFAIK utf-8 má 127 8bitových znaků (překryv s běžným ASCII). můžeš použít nějakou knihovnu, která ti to do paměti načte jako wchar_t, pravda...
ANT_39 --- 9:53:34 17.12.2014
DAVIDOWITCH: (Asi myslis bud 16 nebo 32 bitu.)
XCHAOS --- 9:51:58 17.12.2014
DAVIDOWITCH: jo, iteraci přes utf8 znaky jsem tuhle (asi před 2 lety) zkusmo dělal :-) myslím, že to řazení pozpátku bych tam pořád zvládl v nějakém 2*n čase (strlen + jeden průchod), s tím utf-8 je to každopádně dobrá demo úloha pro tu miniknihovnu/sadu maker, co mám rozpracovanou.

"když se to nevejde do paměti" je už zajímavější úloha... tohle jsme samozřejmě v 90tých letech byli zvyklí pod DOSem řešit pořád... dnešní přístup je naopak mmap souborů a práce se soubory jako kdyby byly načtené v paměti. kombinaci "nevejde se do paměti" + utf8 bych asi řešit nechtěl...
WILD_A --- 9:45:56 17.12.2014
JANFROG: zrovna treba u nekterych implementaci lispu se to zjistovat docela da, obzvlast kdyz to jsou cisty funkce, nicmene v praxi je to vetsinou zbytecny.
DAVIDOWITCH --- 4:36:37 17.12.2014
XCHAOS: Je to ciste skolni uloha, ale ma spoustu fajn figlu. Jako treba jak to udelas aby to fungovalo na utf16 (tj. kazdej znak ma bud 8 nebo 16 bitu, podle flagu v nejvyssim bitu).
Nebo co udelas kdyz se to nevejde cely do pameti.

Pricemz pristup do out-of-core dat je dulezitej pro.. no skoro vsechno.
I kdyz klasictejsi otazka na tohle bejva na sort.. mas obrovsky mnozstvi dat na disku, nevejde se to do pameti, chces je seradit, jak to udelas?

(Dalsi dobra uloha je, ze mas obrovskej log, nekolik TB, a chces z nej random 10k pro nejaky statisticky zpracovani... jak vyberes 10k radek abys nemel zbytecny IO)