• ú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
    XCHAOS
    XCHAOS --- ---
    V podstatě se obloukem vracím k zavržené anketě [ XCHAOS @ ANSI C/C99 (specifikace), GNU C (gcc, glibc), Tiny C (tcc) a POSIX - ne nutně C++,g++,libstdc++ nebo Win32 API ] kde všichni chtějí být hrozně pokročilí: nedá mi to, ale nemyslím si, že k C může jen tak přijít někdo, kdo se naučil programovat na JavaScriptu, PHP nebo Perlu, a jen tak rutinně ho začít používat s tím, že "místo tamtoho se používá tohle, brnkačka".

    třeba s tím odchytáváním SIGSEGV... jsem fakt zvědav, co si představujete, že jde dál dělat, když vám dojde místo na stacku: kromě nějakého zalogování chyby či nouzového uložení důležitých a přitom dosud neuložených dat toho podle mě moc dělat nejde. resp. kdyby šlo o chybu malloc(), tak má v multitaskovém prostředí cenu zkusit po nějaké době alokovat paměť znovu.... ale u toho alloc

    dobře... ještě je tu volání brk() a sbrk() ... to se přiznám, že je pro mě alchymie :-) hmm....

    setrlimit(RLIMIT_STACK,..) ... tím chcete říct, že když se před každým voláním alloca() zeptám, jestli mám dost místa, že můžu stack případně on-demand zvětšit? tak to snad budu muset zkusit :-)
    XCHAOS
    XCHAOS --- ---
    JANFROG: je tam ještě jedno "ale" - já si chtěl napsat "univerzální" alokátor, který se bude používat všude stejně - ale budu nad ním mít nějaké řídící nástroje (v mém případě flow control makra, ale lze si to představit i "čistší", jako volání nějakých přepínačů), které by řekly, kam se alokuje. no ale protože alloca() je v gccv inlinované, tak to není funkce, na kterou by šlo získat pointer.... a stejně tak to nejde obalit funkcí, právě proto, že to alokuje na stack.

    DAVIDOWITCH: asi ano, ale těch nevýhod je tam více - např. nemůžeš paměť kterou ti alloca() vrátí jednoduše předat v seznamu argumentů volané funkce, čímž se to přesně blíží omezením, za které tady byla krizována moje makra: prostě pro kohokoliv mimo naprostých guru (kteří přesně chápou jak to je v C se stackem... což i mě pár let trvalo) tam čekají obrovské nástrahy.
    JANFROG
    JANFROG --- ---
    XCHAOS: Tak to vychazi z principu alloca(). Vzdycky muzes SEGV chytit, zjistit ze to bylo kvuli tomuhle, zamest pod stul a vratit chybu. Kdyz to budes delat, dej si tam par desitek bytu jako rezervu pro operacni stack handleru te chyby :-)
    PIGSTER
    PIGSTER --- ---
    JACHYMKO: otazka - proc zrovna make? to je jako kdyby si na to chtel pouzit msbuild - pujde to, ale nejak mi neni jasny, co ziskas pouzitim maku proti skriptu v cemkoliv jinym
    DAVIDOWITCH
    DAVIDOWITCH --- ---
    XCHAOS: Predpokladam ze nejak umis zjistit kolik ti zbejva na stacku a muzes tudiz alloca obalit.
    Holt kouzlo alloca je v tom, ze je to fakt superlightweight.
    XCHAOS
    XCHAOS --- ---
    JACHYMKO: buď cp -r a nebo, pokud jsi náročnější, tak si přečti man install. (ale já se přiznám, že jsem ten typ linuxáka, co nedá ani ránu bez Midnight Commanderu :-)
    XCHAOS
    XCHAOS --- ---
    tak jsem si zaexperimentoval... a na stacku (u programu nastaveného s implicitním nastavením compileru) nelze alockovat ani 50000x 2 bajty (1 mega) - a ani žádnou chybovou hodnotu to nevrátí, prostě rovnou Neoprávněný přístup do paměti (SIGSEGV). (jo, jistě si jde velikost stacku nějak poručit... o tom nepochybuju...)

    takže alloca() zavrženo. znovu na začátek: potřebuju něco, co by se chovalo podobně jednoduše (hromadné uvolnění paměti), ale bylo by to poněkud "slušněji vychované".
    XCHAOS
    XCHAOS --- ---
    tak jsem přemýšlel jak se postavit k ty svý alokaci paměti... a zrovna když už jsem si říkal, že se na to vykašlu a budu místo svých memory poolů ve většině případů používat prostě alokaci na stacku - alloca() - tak jsem si pořádně přečetl manuálovou stránku, co k tomu patří, a zase si to rozmyslel.

    ach jo.
    XCHAOS
    XCHAOS --- ---
    REDGUY: moderátor občas musí holt poněkud offtopic komentovat počíná ostatních... je blbý, když si nějaký klub vybere někdo, kdo má nutkání komentovat jakékoliv počínání moderátora a jinak se k tématu vyjádřuje minimálně.

    máš 3 dny R/O... ostatní toho snad místo unbookování využijí k tomu, aby se vrátili k tématu.
    REDGUY
    REDGUY --- ---
    XCHAOS: a další tvůj příspěvek co je nejen offtopic, ale dokonce i naprosto neinformativní. - odpovidam na tvoji zpravu. Pokud je ontopic tvoje povidani o tom, jak je cool se ostatnim vyspivat, je ontopic i moje odpoved. Pokud ontopic neni tvoje zprava na kterou jsem reagoval, tak jen pokrytecky vycitas ostatnim co sam delas. A radsi nebudu resit jak "ontopic" je primo tahle tvoje zprava, vid 8))
    XCHAOS
    XCHAOS --- ---
    REDGUY: ... a další tvůj příspěvek co je nejen offtopic, ale dokonce i naprosto neinformativní. (a plný podsouvání... kde mluvím o "omezenosti" kohokoliv? pokud vyslovuju paralely s jinými dobami, jinými obory - nemůžu za to, že potrefená husa se ozve. je tvůj problém, pokud se dobrovolně identifikuješ s něčím, s čím nemusíš...)

    konečně si uvědom, že "zasednout" si na nějakou konkrétní online identitu a věnovat několik let tomu, že horem-dolem hledáš způsoby, jak ji znemožnit, je naprosto neproduktivní způsob jak naložit se svým životem obecně (a časem online zvláště).

    všude jinde by si za svůj přístup k diskuzi dostal ban.... ale třeba jednou pochopíš, no.
    REDGUY
    REDGUY --- ---
    XCHAOS: ne každý pracuje na nudných firemních projektech za peníze - jen tak pro zajimavost, "firemni projekt za penize" pro tebe implikuje "nudny projekt"?

    že je víc cool se všem ostatním posmívat, že používají C k něčemu, k čemu nebylo určen - ale kdeze. Neposmivam se ti proto ze pouzivas C k necemu, k cemu neni urceno. Neposmivam se ti dokonce ani proto, ze do zdi na konci tehle slepe ulicky busis hlavou uz mnoho let, navic dokonce v situaci kdy sam v podstate uznavas ze to je slepa ulicka. Castecne se ti posmivam proto, ze si nenechas poradit (a tim nemyslim nutne ode me, ale prakticky od vsech ostatnich pritomnych). Hlavne se ti ale posmivam proto, ze navzdory tomu vsemu mas takovou absenci soudnosti, ze tohle vsechno vydavas za dukaz svoji kreativity a zaroven omezenosti ostatnich. Ale tak je to je vsech nasich sporech, ze ano.
    XCHAOS
    XCHAOS --- ---
    REDGUY: tak je to tak trochu klub pro lidi, kteří chtějí někde prezentovat, na čem dělají a tak... ne každý pracuje na nudných firemních projektech za peníze - jsou i lidi, co programují spíš pro sebe, jako hobby, a pak se o tom chtějí někde bavit...

    chápu, že je víc cool se všem ostatním posmívat, že používají C k něčemu, k čemu nebylo určené, a že všechno, co dělají, je zbytečné. ale to můžeš dělat někde jinde....
    XCHAOS
    XCHAOS --- ---
    ADAMJ: jo, no já už si přečetl celou tu myšlenkovou linii, no jo. no v éře DOSu ještě dost lidí programovalo v assembleru, to je fakt. já ne.
    ADAMJ
    ADAMJ --- ---
    XCHAOS: Tak treba ... lemme think ... hmm ... v cecku? :D
    REDGUY
    REDGUY --- ---
    XCHAOS: tak jediný řešení, jak udržet debatu ontopic, by bylo zabanovat id REDGUY Yup, je to moje vina. To ja sem pisu veleskromne off-topic ody na vlastni kreativitu jako treba [ XCHAOS @ ANSI C/C99 (specifikace), GNU C (gcc, glibc), Tiny C (tcc) a POSIX - ne nutně C++,g++,libstdc++ nebo Win32 API ] ... hmm... moment. To vlastne neni moje zprava. Hmmmm. To nechapu. Ale aspon ze mam posledni slovo! 8))
    XCHAOS
    XCHAOS --- ---
    BLAMI: tak jediný řešení, jak udržet debatu ontopic, by bylo zabanovat id REDGUY, který prostě musí mít poslední slovo.

    jinak opravdu nevím, kdy "nepřipouštím vlastní neznalost"... ano připouštím, že nehodlám C používat k psaní driverů do kernelu (ale určitě by bylo ontopic, kdyby to tu někdo chtěl diskutovat! i když jak název napovídá, tak je klub zaměřený primárně na userspace aplikace napsané v C)
    BLAMI
    BLAMI --- ---
    XCHAOS: puvodne jsem to chtel udelat v tichosti, ale pak mi doslo, ze neni duvod to tu nepridat do stejne tezce offtopic diskuze. Tohle auditko jsem booknul protoze me C (a prave ne C++) docela zajima, nicmene nic z toho co se tu probira neodpovida ani titulku ani offtopicu ktery bych chtel cist a proto unbookuju.

    PS: Mozna, pokud teda varianta, ze bys od zakladu zmenil pristup k sobe samemu nepripada v uvahu, bys mel vsechny auditka, kde vystupujes doplnit suffixem "[TOPIC] podle sebestredneho genialniho XChaose, ktery nepripousti rozumne argumenty ani vlastni neznalost". Jak jsem tu prakticky zjistil bohuzel nepomuze ani filtr na tvou osobu, protoze se vetsinou 99% prispevku toci okolo naprosto iracionalnich donebevolajicich blbosti, ktere maji koreny v necem co prohlasis. Nuze preji Ti mnoho zdaru ve vymysleni hranateho kola a ostatnim diskuterum vetsi kyblik na nervy.
    DAVIDOWITCH
    DAVIDOWITCH --- ---
    Apropo, kdyby sis precetl neco o staveni hradu, nebo se na par z nich podival, tak bys zjistil ze tam bylo kreativity docela dost.
    REDGUY
    REDGUY --- ---
    XCHAOS: fap fap fap kreativni fap fap fap fap fap fap fap fap fap stavitel hradu fap fap fap fap fap fap fap fap fap fap fap fap Nikola Tesla fap fap fap fap whoa kovboji, opatrne. Takhle verejne masturbovat nad tim, jak uzasne jsi kreativni a jak hrdine prekracujes konvence, zatimco prizemni, tupy sheeplove poslusne pochodujou v jejich hranicich... neni to krapet moc? Ale pravda, to je mozna jen dalsi konvence kterou prekracujes 8)

    Ale jak rekl Henry Ford: You can't build a reputation on what you're going to do.. Kdyz ses tak dobrej, mozna bys nam mohl ukazat jake vysledky tvuj "kreativni" pristup ma? V cem se tvuj plan "použít C k něčemu jinému, než k čemu bylo zamýšlené" nejak zasadne vyplatil? Zatim vidim jen hromadku zabugovanych maker, o kterych jsi sam rekl ze z ni lezes po zdi a generator konfiguraku, o kterem jsi rekl ze bys ho dnes psal v Pythonu (ooh, neni to nahodou presne to co ti doporuce nekreativni, prizemni Redguy?) Prehled jsem neco? Jake uzasne vysledky ma tvuj pristup?

    Zatim to spis vypada jako bys rekl "Vsichni ostatni zemedelci orou pole pomoci traktoru. To je tupe, jsou spoutani tradici, delaji to tak je proto ze jim nekdo rekl ze se to tak ma delat, nemaji vubec zadnou kreativitu. Ale ja jsem renesance a Nikola Tesla v jednom, ja kreativni jsem, nenecham se spoutat tradici, ja budu orat svoje pole pomoci Ferrari. Je prece uplne jasne ze je aerodynamictejsi nez traktor, takze bude mit mnohem mensi spotrebu."
    Kliknutím sem můžete změnit nastavení reklam