abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 10:44 | Zajímavý článek

    Alyssa Rosenzweig se v příspěvku na svém blogu Vulkan 1.3 na M1 za 1 měsíc rozepsala o novém Vulkan 1.3 ovladači Honeykrisp pro Apple M1 splňujícím specifikaci Khronosu. Vychází z ovladače NVK pro GPU od Nvidie. V plánu je dále rozchodit DXVK a vkd3d-proton a tím pádem Direct3D, aby na Apple M1 s Asahi Linuxem běžely hry pro Microsoft Windows.

    Ladislav Hagara | Komentářů: 0
    dnes 01:00 | Nová verze

    Byla vydána (𝕏) květnová aktualizace aneb nová verze 1.90 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a animovanými gify v poznámkách k vydání. Ve verzi 1.90 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 0
    dnes 00:44 | Nová verze

    Byla vydána (Mastodon, 𝕏) nová verze 2024.2 linuxové distribuce navržené pro digitální forenzní analýzu a penetrační testování Kali Linux (Wikipedie). Přehled novinek se seznamem nových nástrojů v oficiálním oznámení.

    Ladislav Hagara | Komentářů: 0
    včera 16:44 | IT novinky

    Počítačová hra Tetris slaví 40 let. Alexej Pažitnov dokončil první hratelnou verzi 6. června 1984. Mezitím vznikla celá řada variant. Například Peklo nebo Nebe. Loni měl premiéru film Tetris.

    Ladislav Hagara | Komentářů: 10
    včera 10:44 | Nová verze

    MicroPython (Wikipedie), tj. implementace Pythonu 3 optimalizovaná pro jednočipové počítače, byl vydán ve verzi 1.23.0. V přehledu novinek je vypíchnuta podpora dynamických USB zařízení nebo nové moduly openamp, tls a vfs.

    Ladislav Hagara | Komentářů: 0
    včera 10:22 | Nová verze

    Canonical vydal Ubuntu Core 24. Představení na YouTube. Nová verze Ubuntu Core vychází z Ubuntu 24.04 LTS a podporována bude 12 let. Ubuntu Core je určeno pro IoT (internet věcí) a vestavěné systémy.

    Ladislav Hagara | Komentářů: 2
    včera 01:00 | Nová verze Ladislav Hagara | Komentářů: 0
    4.6. 19:55 | IT novinky

    Intel na veletrhu Computex 2024 představil (YouTube) mimo jiné procesory Lunar Lake a Xeon 6.

    Ladislav Hagara | Komentářů: 0
    4.6. 13:44 | IT novinky

    Na blogu Raspberry Pi byl představen Raspberry Pi AI Kit určený vlastníkům Raspberry Pi 5, kteří na něm chtějí experimentovat se světem neuronových sítí, umělé inteligence a strojového učení. Jedná se o spolupráci se společností Hailo. Cena AI Kitu je 70 dolarů.

    Ladislav Hagara | Komentářů: 0
    4.6. 13:22 | Nová verze

    Byla vydána nová verze 14.1 svobodného unixového operačního systému FreeBSD. Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    Rozcestník

    Lepšie nedefinovať takto štruktúry v C.

    4.8.2020 21:46 | C

    #include <stdio.h>
    
    static struct {
    	int day;
    	int month;
    	int year;
    } date = {
    	4, 8, 2020
    };
    
    int main(){
    	printf("year: %d\n", date.year);
    	return 0;
    }
    
           

    Hodnocení: 11 %

            špatnédobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    4.8.2020 22:22 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: Lepšie nedefinovať takto štruktúry v C.

    Asi by měla následovat anketa, co tím autor vlastně myslel. :-)

    • nekombinovat deklaraci struktury jako typu s deklarací proměnné toho typu
    • nepoužívat anonymní initializátory prvků struktury
    • nepoužívat signed proměnné pro hodnoty, které jsou z definice unsigned
    • místo lidové tvořivosti používat existující knihovní datové typy
    5.8.2020 00:21 samalama
    Rozbalit Rozbalit vše Re: Lepšie nedefinovať takto štruktúry v C.
    ci problem nebude prave v tom, ze autor nemysli...
    5.8.2020 01:15 Žufánek
    Rozbalit Rozbalit vše Re: Lepšie nedefinovať takto štruktúry v C.
    nepoužívat signed proměnné pro hodnoty, které jsou z definice unsigned
    Tak tady to fakt hrozně vadí, přetečení iminentní.
    5.8.2020 08:02 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: Lepšie nedefinovať takto štruktúry v C.
    Ono nemusí být iminentní. Schválně si zkuste bez hledání po webu nebo nahlédnutí do specifikace odpovědět, jak přesně se chová "X < Y" nebo "A ? X : Y", je-li X signed a Y unsigned nebo naopak, případně je-li to ještě zpestřeno různou velikostí těch proměnných. Podobně bohorovný přístup často končí bezpečnostními chybami.
    5.8.2020 23:47 xxx
    Rozbalit Rozbalit vše Re: Lepšie nedefinovať takto štruktúry v C.
    No nevim. Spis jsou to takova tri stadia.

    Programator:

    1. pouziva vsude int

    2. mixuje signed/unsigned int ruznych velikosti

    3. po mnoha chybach zpusobenych s/u int ruznych velikosti a nastudovani, jak to funguej, opet pouziva pouze int

    6.8.2020 07:39 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: Lepšie nedefinovať takto štruktúry v C.
    Do fáze 3 se ale naštěstí nedostanou všichni.
    5.8.2020 09:13 z_sk | skóre: 34 | blog: analyzy
    Rozbalit Rozbalit vše Re: Lepšie nedefinovať takto štruktúry v C.
    nekombinovat deklaraci struktury jako typu s deklarací proměnné toho typu
    👍
    debian.plus@protonmail.com
    Gréta avatar 5.8.2020 12:57 Gréta | skóre: 36 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
    Rozbalit Rozbalit vše Re: Lepšie nedefinovať takto štruktúry v C.
    Heron avatar 5.8.2020 20:02 Heron | skóre: 53 | blog: root_at_heron | Olomouc
    Rozbalit Rozbalit vše Re: Lepšie nedefinovať takto štruktúry v C.
    Mě nejvíc dráždí to, že jsou to inty a že je to inicializované přímo. Datum nejsou tři inty. Datum je složitější datová struktura a ne všechny hodnoty těchto tří polí tvoří validní datum. Ve skutečnosti drtivá většina hodnot není validní datum.
    5.8.2020 21:52 Martin Tůma | skóre: 39 | blog: RTFM | Praha
    Rozbalit Rozbalit vše Re: Lepšie nedefinovať takto štruktúry v C.

    A jak by sis jako v C představoval datovou strukturu, která by sama o sobě řešila validitu dat? Jako jednoduchá datová reprezentace datumu je to naprosto ok, pro "bezpečnou" práci s tou strukturou pak můžeš mít nadefinované funkce, které dělají potřebné kontroly.

    Co se týče té "přímé inicializace", tak tohle se v C zcela běžně záměrně používá, pokuď se definovaná struktura (běžně se spíš jedná o pole struktur) použije v daném modulu přesně 1x.

    Každý má právo na můj názor!
    5.8.2020 22:18 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: Lepšie nedefinovať takto štruktúry v C.
    "Zcela běžně se používá" spousta věcí, které bych za hodné následování neoznačil ani omylem.
    5.8.2020 23:34 Martin Tůma | skóre: 39 | blog: RTFM | Praha
    Rozbalit Rozbalit vše Re: Lepšie nedefinovať takto štruktúry v C.
    Měl jsem na mysli "běžně používá v nějaké situaci". Přirovnal bych to k použití GOTO. To taky obecně není úplně doporučovaný pattern, ale jako error handling je to zcela běžná (a preferovaná) technika. Samozřejmě, někdo to může vidět jinak, ostatně stejně jako u toho GOTO...
    Každý má právo na můj názor!
    5.8.2020 22:47 Odin1918 | skóre: 6 | blog: Valhalla
    Rozbalit Rozbalit vše Re: Lepšie nedefinovať takto štruktúry v C.
    Nejlepsi by bylo vykaslat se na 50 let stary jazyk a pouzit treba neco objektoveho mladsi 30ti let. :-D

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.