Zobrazit příspěvky

Tato sekce Vám umožňuje zobrazit všechny příspěvky tohoto uživatele. Prosím uvědomte si, že můžete vidět příspěvky pouze z oblastí Vám přístupných.


Příspěvky - D.A. Tiger

Stran: 1 ... 27 28 [29] 30 31 32
421
Vývoj / Re: Chyták pro C++ programátora
« kdy: 31. 10. 2010, 15:47:37 »
Zajímavý je, že s NULL i s nulou má C++ obecně docela problémy, například při instanciování šablon funkcí. Proto se myslím C++0x plánuje typovaný NULL. Čili zpět od obecné nuly k nějakému speciálnímu typu.

No treba knihovna Loki, definujici sablony pro genericke programovani (hlavne) knihoven, ktere zachazeji s typy ( trida, struktura) jako s objekty samotnymi, uz pomerne dlouho takovy jednoduchy typ pouziva. Neco ve stylu

Kód: [Vybrat]
struct nil_type { }; 
 

Vyuziva to treba v typovych seznamech, atpd.... Ale netusim, jak by se to dalo pouzit tak jako Makro NULL. To neni ukazatel, ale prece jen cislo adresy, ktere slouzi pouze k testovacim ucelum, zadna pouzitelna data na ni nikdy nebudou...

422
Vývoj / Re: Chyták pro C++ programátora
« kdy: 31. 10. 2010, 14:20:13 »
Možná kecam, ale z hlavy bych řek, že NULL je definovaný jako

#DEFINE NULL 0

Z čehož vyplývá, že věci typu *NULL nebo &NULL je nesmysl...

Ano, je videt, ze si rozumime :-)

Citace
D.A. Tiger: V hlavičkových souborech je zcela určitě, jde o to, jestli je v normě...

Hlavu za to nedam, ale rekl bych ze norma minimalne zakazuje starou C definici...

423
Vývoj / Re: Chyták pro C++ programátora
« kdy: 31. 10. 2010, 14:10:59 »
Samozřejmě je to #define NULL    ((void *)0)  :o

Ano ale v C. V C++ se tato konstrukce jako NULL pouzivat nesmi.

424
Vývoj / Re: Chyták pro C++ programátora
« kdy: 31. 10. 2010, 13:42:15 »

A jen tak pro zajímavost, kde je specifikováno, že &NULL == 0? Resp. co znamená *NULL? Jestli to funguje, tak podle mne jen náhodou (né že bych byl odborník na C++, třeba se pletu :).

NULL je v C++  :
Kód: [Vybrat]
#define NULL 0

425
Vývoj / Re: Chyták pro C++ programátora
« kdy: 31. 10. 2010, 12:43:44 »
Neni nahodou ten test na adresu navratove hodnoty (vychazim predpokladu, ze funkce vraci hodnotu ve stacku, jinak nechapu proc by musel autor ziskavat adresu navratove hodnoty) absolutne zbytecny a nikdy neselze? Mam takovy dojem, ze statickym hodnotam se prizuje adresa vzdy a kdyz dojde pamet ... to uz v takovem pripade resi rovnou mechanizmy v systemu. Pokud se tedy nepletu, k vyjimce nikdy nedojde....

426
Vývoj / Re: scrollfile v bashi
« kdy: 29. 10. 2010, 23:48:35 »
man ku getopts ani nie je :/

No tak je treba strycek Google : http://www.google.cz/search?client=opera&rls=cs&q=getopts&sourceid=opera&ie=utf-8&oe=utf-8
A tady prvni man stranka na internetu, ktera mi padla do oka : http://www.mkssoftware.com/docs/man1/getopts.1.asp

427
Distribuce / Re: libc6
« kdy: 29. 10. 2010, 23:42:31 »
Program alien by mel umet prevadet mezi typy balicku, ale ted fakt nevim jestli je Arch Linux podporovany...

428
Vývoj / Re: Skript nečitelný uživatelem
« kdy: 28. 10. 2010, 11:33:07 »
Pokud tomu nic nebrani (napr rozsah skriptu), pak by moznym resenim bylo jej predelat do binarni podoby (napr. prepsat do C a zkompilovat). Binarni soubory spousti uz system a ten prava na cteni uz na nic nepotrebuje....   

429
Vývoj / Re: Skript nečitelný uživatelem
« kdy: 28. 10. 2010, 11:21:48 »
Ked to prepisete do perlu, tak to bude necitelne automaticky :)

 ;D To spis do Pythonu  ;)

430
Hardware / Re: nVidia vs. Radeon v Linuxu
« kdy: 26. 10. 2010, 12:28:02 »
Anketa nebyla povolená pro neregistrované - upravil jsem.

Ona byla jenom pro registrovane aby si zachovala objektivnost. Radsi bych mel za 3 dny dohromady jenom 10 hlasu ale opravdovych. Je hlasovani pro neregistovane neak omezeno? Po povoleni hlasovani neregistrovanym totiz pribylo najednou 10 hlasu pro nVidii a pro Radeon a treti moznost nic. Nemam pristup k detailum takze nemuzu soudit jestli nebyli z te same IP, pripadne od toho sameho cloveka. BFUckam nevysvetlite, ze je to pruzkum kde chcete mit objektivni vysledek. Oni budou hlasovat pro tu svou kartu tolik krat jak to jen pude, protoze ta jejich je proste nej.

Já bych to doplnil svým postřehem : Když nejsem přihlášený zobrazí se mi formulář pro hlasování. Nezkoušel jsem, zda opravdu mohu hlasovat, ale asi to jde.... Chápu, že je těžké  to až do takových detailů odchytat (možná nemožné - na jednom počítači může být třeba více lidí s odlišnými názory), ale vzhledem k tomu, že je mi pravděpodobně umožněno hlasovat dvakrát, už to asi moc objektivní opravdu nebude :-(

431
Hardware / Re: nVidia vs. Radeon v Linuxu
« kdy: 26. 10. 2010, 00:18:33 »
Abych se přiznal, já osobně preferuji karty NVidia. Pravdou je, jak psal pan Petr,  že je instalovaná vždy na jedno konkrétní jádro, takže pokud si zkompiluji nové, nebo se z nějakého důvodu vrátím na to staré, pak musím přeinstalovat ovladače - mě to však až zas tak moc nevadí, protože tohle nedělám každý týden a navíc je to otázka cca. 5 - 10 minut. to, že jsou ovladače uzavřené mi taky osobně nepřijde jako velký problém, z mého hlediska je důležité, že vůbec jsou a fungují z velké části výborně a bezproblémově. Ocenil bych však stejné možnosti nastavení jaké mají k dispozici uživatelé os. windows.

Karty ATI jsem osobně použil asi dvakrát a to vždy jako nouzovou záchranu, jinak ji má třeba můj otec a nemá s ní žádné větší problémy. pravdou je, že on preferuje vždy jen pár typů většinou jednodušších her a na zbytek absolutně stačí (Přehrávání filmů, zobrazování GUI a grafiky ).   

432
Hardware / Re: nVidia vs. Radeon v Linuxu
« kdy: 26. 10. 2010, 00:06:54 »
Anketa nebyla povolená pro neregistrované - upravil jsem.

Já jsem měl dřív na počítačích nVidia, u dalších lidí jsem rozcházel ATI. nVidia byla obvykle úplně v pohodě, naopak u ATI jsem zažíval vždycky problémy. Ale i u té nVidie mě štvalo, že jsem při každé změně jádra musel znovu ty ovladače přeinstalovat (používal jsem tehdy originální, nedistribuční, tenkrát to ještě nebylo tak bezproblémové). U nového notebooku jsem si proto řekl o Intel a jsem naprosto spokojený, funguje to bez jakéhokoliv speciálního zásahu.

Petře mohu poprosit o typ té Intelácké karty, zda Vám běží dobře hw. akcelerace, a odkud (popř. jaké) jste použil ovladače?  popř. jednoduchý návod na instalaci a nastaveni - je-li potřeba (stačí i link). Abych se přiznal já měl vždycky problémy právě s těmito kartami. Diky   

433
Vývoj / Re: Pád programu při použití SDL textu
« kdy: 22. 10. 2010, 13:22:50 »
Citace
Tu kontrolu na nacteni souboru pouziju, nebude to lepsi udelat pomoci vyjimek try catch ?

To záleží už na tobě, na tom jaký program píšeš, a jakou máš o něm představu. Funkce load_font( ), kterou jsem ti psal výše hlavně kontroluje zda už nějaký font načtený je - takže ti neunikají zdroje ( v tomto případě paměť) a zda načtení fontu proběhlo úspěšně.  Mužes si ji samozřejmě libovolně modifikovat.

Například kontrola zda je už font načtený (první if ) nemusí při pravdivostní hodnotě hned uvolńovat font z paměti, ale jen provede návrat z funkce s hodnotou TRUE. Jinak bude vše stejné. Takto bych postupoval v případě, že budu používat jen jeden font v celém zbytku aplikace, avšak není z nějakého důvodu jisté  kdy se font načte.

Vyjímku bych použil v případě, že chci na danou situaci nějak zareagovat. V našem případě např. bych dal uživateli možnost si soubor s fontem najít ručně (asi přes dialog) nebo zadat jiný vhodný font. Jinak je tu tež možnost rovnou ukončit celou aplikaci voláním exit( ).

To jsou varianty, které mě tak v rychlosti napadly. Můžeš samozřejmě postupovat úplně jinak - fakt to hodně zaleží na tom, co chceš Ty, aby to dělalo  :D

434
Vývoj / Re: Pád programu při použití SDL textu
« kdy: 22. 10. 2010, 01:03:45 »
Citace
Pad vyvola ukazatel "font" na radku "text = TTF_RenderText_Solid(font,"ahoj svete",fg_col);"

1) A kde je ten radek? Ve funkci Plocha( )?
2) Proc funkce Plocha( ) a VykresliGrafickeRozhrani( ) nacitaji dvakrat tytez data do globalni promene ( tedy pokud retezce "DejaVuSansCondensed.ttf" a "c:\DejaVuSansCondensed.ttf" povazujes za stejny), navic retezec "c:\DejaVuSansCondensed.ttf" ve funkci Plocha( ) by mel asi byt "c:\\DejaVuSansCondensed.ttf" aby jsi zrusil zpecialni vyznam znaku zpetneho lomitka, a jeste k tomu zde ani nekontrolujes zda se ti font vube nacetl. Nakonec chyby nejake informace kdy a kde kterou funkci volas - s ohledem na to ze zde mas definovany dve operace, ktere by teoreticky mely (tedy alespon jsem to tak pochopil) nacist jeden soubor, avsak kazda to dela jinak (jedna uspech kontroluje, druha ne), je to docela dulezite.

Tvoji funkci NactiFont( ) bych resil asi nejak takto :

Kód: [Vybrat]
int load_font( char *file, int size ) 
{
  if( font != NULL ) {
    TTF_CloseFont( font );
    font = NULL; 
  }
 
  if( ( font = TTF_OpenFont( file, size ) ) == NULL ) {
    printf( "Not load font %s", file );
    return FALSE; 
  }
 
  return TRUE;
}

A pak ji dusledne pouzil vsude,kde je potreba nacist font.


3) Docela se divym, ze ti to pri stavu v jakem jsi to hodil sem nekolabuje na radku

Kód: [Vybrat]
SDL_BlitSurface(text, NULL, screen, NULL);

promena text neni nikde inicializovana. Zda se mi to cele takove docela chaoticke....


435
Vývoj / Re: Prenositelnost programu
« kdy: 17. 10. 2010, 23:30:06 »
No, mozna by stacilo se podivat do seznamu knihoven, ktere budou k projektu (v Linuxu) prikompilovany a odebrat ji odtamtud. Pravym mysitkem kliknete na Vas projekt->volba properties->tlacitko "Project build options"->zalozka "Linker settings". Na panelu "Link Libraries" njadete vsechny knihovny mingw a tlacitkem "delete" je postupne odstrante.... Pokud ji nenajdete zde, urcite pujde je najit v projektovem souboru a vymazat rucne primo tam.

Pokud se nepletu mingw32 je runtime knihovna kterou je potreba prilinkovat do programu kompilovanych MinGW. takze ji tam CodeBlock dal asi automaticky.
     

Stran: 1 ... 27 28 [29] 30 31 32