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 --- 0:16:39 30.6.2012
Ostatne, funguje to i ve skalarnim kodu, zkus to samy na tohle (kdyz je v #if 1, je to maskovani, kdyz 0 je to starej kod):

for(j = 0; j < ITERS; j++) {
for(i = 0; i < ASIZE; i++) {
#if 1
unsigned mask = (prdel[i] >= RAND_MAX/2);
mask = unsigned(-mask);
sum += (mask & prdel[i]);
#else
if (prdel[i] >= RAND_MAX/2) {
sum += prdel[i];
}
#endif
}
}
DAVIDOWITCH --- 0:15:48 30.6.2012
REDGUY: Jak ktery. Ale vetsinou mas instrukci ktera ti nastavi masky podle nejaky podminky a pak instrukci co je resetne do nejakyho stavu.

v SIMD by to bylo cca takhle (kdyby se tohle odehravalo v jedny lane, takze de facto SIMT prave ala CUDA).

const __m128 treshold = _mm_set_ss(RND_MAX/2);
__m128 acc = _mm_set_ss(0);

for(int i=0; i < ASIZE; i++)
{
// hezky
__m128 datai = _mm_set_ss(data[i]);
__m128 mask = _mm_cmp_ge(datai, treshold);
datai = _mm_and_ps(datai, mask);
acc = _mm_add_ps(acc, datai);
}
REDGUY --- 0:05:04 30.6.2012
DAVIDOWITCH: To maskovani funguje jak? Na pristi instrukci, pristi store, dokud ho nevypnu, nebo jinak?
DAVIDOWITCH --- 23:52:51 29.6.2012
REDGUY: Jako, je husty jak mi tohle vubec nedoslo, protoze ted programuju pro GPU a tam se takovyhle maly tela resej maskovanim.
tj. if by jen nastavil predikat jestli zapsat vysledek nebo ne, a tudiz skok by vubec neprobehl (to samy bych delal v SIMD)
REDGUY --- 23:50:58 29.6.2012
DAVIDOWITCH: Rekl bych ze jo. Navic stejnej efekt je udajne videt i v Jave.
DAVIDOWITCH --- 21:47:41 29.6.2012
(ne, necekal sem to, myslel sem ze to bude opacne)
DAVIDOWITCH --- 21:47:25 29.6.2012
REDGUY: Tyjo, ze by se tohle CELY dalo svyst na branch prediction?
REDGUY --- 17:16:55 29.6.2012
Hehe, tohle je docela legracni. Sice se desim ze si z toho XChaos vezme uplne spatne pouceni a bude z toho zase zaplava jeho zmatecnejch vizi, ale je to tak zajimavy ze to risknu:

[C] WTFC - Pastebin.com
http://pastebin.com/E2vHyXjU

Cckovej program kterej vygeneruje pole nahodnejch cisel a pak ho mnohokrat projizdi a pocita soucet tech nahodnejch hodnot, ktery jsou vetsi nez RAND_MAX/2. Na zaver rekne jak dlouho mu to trvalo. Nic slozityho. Jedina vec zajimava vec je, ze pokud mu na prikazove radce reknete "WTF", tak predtim, nez to pole zacne projizdet a scitat ho setridi, coz na vysledny soucet nema zadnej vliv.

Za domaci ukol se na ten kod podivejte a zkuste si odhadnout, jak se bude vysledny cas lisit v zavislosti na tom, jestli tomu programu reknete nebo nereknete "WTF". Pak si to vyzkousejte a uvidite 8)
XCHAOS --- 22:49:35 21.6.2012
ANT_39: dík, to jsem možná teď napodruhé přehlédl, už jsem to ale měl nastudovaný... řetězící alokátor get_str() a formátující alokátor get_strf() u mě každopádně budou hlavní stringové nástroje (začal jsem diplomaticky používat označení "můj toolkit", protože cokoliv jiného působí jako rudý hadr :-)

(jo a připomínám, že rozhodně nečekám reputaci, dokud to nereleasnu...)
NECROMAN --- 12:19:55 21.6.2012
Dokazal byste nekdo prekompilovat Cckovou knihovnu LUA do WinRT / C++ ? WinRT jak asi vite je novy runtime ve Windows 8 pro beh Metro aplikaci. Lze v nem programovat pomoci C++, C# nebo HTML5/JavaScriptu.
Pro zkusene C++ matadory by to predpokladam nemel byt takovy problem, neni tam skoro nic platform-specific, jen obecne algoritmy :)
Dik
LUA library compiled in WinRT C++
http://social.msdn.microsoft.com/Forums/en-US/winappswithnativecode/thread/f4621710-2cdf-4fc5-a04e-44ecb25c6769