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.
XCHAOS --- 14:31:49 26.11.2018
REDGUY: banuju už v podstatě jen za to, když urážky překročej určitou míru, odpovídající konkrétní verbální citlivosti mojí generace.
REDGUY --- 23:53:52 25.11.2018
XCHAOS: No urcite. Akorat ze to, ze spousteni extra threadu ma rezii, kterou nemuzes ignorovat jsem ti rikal uz od zacatku. Ale pochopitelne, kdyz neco rika Redguy, je to to fuj fuj osklive off-topic trollovani, kterej potreba ignorovat nebo rovnou zabavnovat, zatimco ted, kdyz si idiot ted to samy konecne precetl nekde jinde, tak je to idiotova zasluha 8)))
XCHAOS --- 23:47:39 25.11.2018
REDGUY: no vida, konečně se mi diskusi podařilo stočit někam ontopic :-) tak jestli využiju tohle, můžu autorovi koupit koupit kafe, zdá se :-)
XCHAOS --- 23:46:19 25.11.2018
ANT_39: mno. takže řešení připravené rozparalelizovat _jakýkoliv_ cyklus by vlastně místo na trhu našlo... :-)
ANT_39 --- 1:23:01 24.11.2018
XCHAOS: Standard OpenMP popisuje, jak hlavicka toho cyklu musi vypadat, aby sla rozparalelizovat.
REDGUY --- 15:05:54 23.11.2018
XCHAOS: velká frajeřina by vlastně byla napsat v C kód, který recykluje již jednou vytvořená vlákna - boha jeho. Napis do googlu "C thread pool" a vypadne ti hromada tehle "velkejch frajerin", treba https://github.com/Pithikos/C-Thread-Pool .

Kolikrat ti budu opakovat, ze bys fakt hodne dobre udelal, kdyby sis o tom paralelnim programovani nejdriv neco poradne precetl, nastudoval, neco realnyho v nem naprogramoval a pak teprv zacal machrovat o tom, jak napises paralelni programovaci jazyk?
XCHAOS --- 14:37:51 23.11.2018
???: zajímavé by bylo vyzkoušet, jak ta paralelizace dopadne v případě, že podmínka v tom cyklu je nějak složitější, než jen prosté počítadlo. každopádně dík za inspiraci, konečně sem někdo po několika týdenní flamewar vnesl nějaký ontopic :-)
??? --- 14:34:04 23.11.2018
XCHAOS: ti to mozem porovnat z hlavy, kedze OpenMP pracuje na urovni kompilatora, musel by si byt velmi velky maestro aby tvoj C kod bol rychlejsi

A ano, OpenMP to robi presne tak, pokial mu to parametrom povies.
XCHAOS --- 14:28:54 23.11.2018
???: částečně máš pravdu, že vytvoření threadu má režii... neřeší tohleto právě ty go-routines?

tak mi napadá, že velká frajeřina by vlastně byla napsat v C kód, který recykluje již jednou vytvořená vlákna. normálně, po dokončení threadu by tehle thread nezanikl, neukončoval se - ale čekal by na nějakém semaforu, až se mu předá pointer na funkci, kterou má dále vykonat. takže by se nepracovalo přímo s phthreads, ale runtime by spravoval nějaký pool threadů (jako to dělá většina aplikací s podporou multihtreadingu, typu Apache)

začíná mi to do sebe v hlavě docela zapadat (stejně mi vycházelo, že ten můj highlevel zdrojový kód bude z řady důvodů překladač do C muset rozkrájet do řady automaticky generovaných funkcí, protože C prostě nemá nic jako anonymní funkce nemá... stejně tak všechny lokální proměnné budou ve strukturách, na které půjde předat pointer, apod.).

je pravda, že už se to celé začíná trochu podobat operačnímu systému :-) Jestli to OpenML dělá přesně takhle, tak je to dost zajímavé... ale v tom případě by stálo za to srovnat výkonost kódu který paralelizuje OpenML s tím mým :-)
REDGUY --- 14:03:31 23.11.2018
???: A v tom Pythonu, na kterej XChaos miri, samozrejme existuje ThreadPoolExecutor, kterej presne tohle dela.

K comu preboha generovat medzikod ked tam staci vlozit jednu direktivu preprocesora - protoze XChaos si vymyslel, ze generovat C jako mezikod je cool, tak ted hleda neco, na co by to pouzil. Ze to nedava smysl je irelevantni.