abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 21:11 | Nová verze

    Byl vydán Debian 13 s kódovým názvem Trixie. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 1
    včera 15:55 | Zajímavý software

    WLED je open-source firmware pro ESP8266/ESP32, který umožňuje Wi-Fi ovládání adresovatelných LED pásků se stovkami efektů, synchronizací, audioreaktivním módem a Home-Assistant integrací. Je založen na Arduino frameworku.

    Indiánský lotr | Komentářů: 0
    8.8. 15:33 | Nová verze

    Open source platforma Home Assistant (Demo, GitHub, Wikipedie) pro monitorování a řízení inteligentní domácnosti byla vydána v nové verzi 2025.8.

    Ladislav Hagara | Komentářů: 4
    8.8. 14:22 | IT novinky

    Herní studio Hangar 13 vydalo novou Mafii. Mafia: Domovina je zasazena do krutého sicilského podsvětí na začátku 20. století. Na ProtonDB je zatím bez záznamu.

    Ladislav Hagara | Komentářů: 1
    8.8. 13:22 | IT novinky

    Operátor O2 má opět problémy. Jako omluvu za pondělní zhoršenou dostupnost služeb dal všem zákazníkům poukaz v hodnotě 300 Kč na nákup telefonu nebo příslušenství.

    Ladislav Hagara | Komentářů: 8
    8.8. 05:55 | IT novinky

    Společnost OpenAI představila GPT-5 (YouTube).

    Ladislav Hagara | Komentářů: 2
    8.8. 05:00 | Nová verze

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

    Ladislav Hagara | Komentářů: 0
    7.8. 17:33 | IT novinky

    Americký prezident Donald Trump vyzval nového generálního ředitele firmy na výrobu čipů Intel, aby odstoupil. Prezident to zdůvodnil vazbami nového šéfa Lip-Bu Tana na čínské firmy.

    Ladislav Hagara | Komentářů: 10
    7.8. 16:55 | Nová verze

    Bylo vydáno Ubuntu 24.04.3 LTS, tj. třetí opravné vydání Ubuntu 24.04 LTS s kódovým názvem Noble Numbat. Přehled novinek a oprav na Discourse.

    Ladislav Hagara | Komentářů: 0
    7.8. 16:44 | Nová verze

    Byla vydána verze 1.89.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.

    Ladislav Hagara | Komentářů: 0
    Kolik tabů máte standardně otevřeno ve web prohlížeči?
     (46%)
     (20%)
     (4%)
     (5%)
     (3%)
     (1%)
     (1%)
     (19%)
    Celkem 318 hlasů
     Komentářů: 23, poslední 4.8. 13:01
    Rozcestník

    Dotaz: kontrola zarovnania adresy

    14.3.2006 16:13 Michal Hocko | skóre: 7
    kontrola zarovnania adresy
    Přečteno: 170×
    Zdravim, neviete mi niekto poradit, co pouzit pre kontrolu, ci dany pointer odkazuje na spravne zarovnanu adresu?

    Potrebujem aby to slo aspon na POSIX kompatibilnych systemoch.

    Dakujem

    Odpovědi

    14.3.2006 16:15 Michal Hocko | skóre: 7
    Rozbalit Rozbalit vše Re: kontrola zarovnania adresy
    Zabudol som dodat, ze ide o ansi C.
    14.3.2006 16:21 machr
    Rozbalit Rozbalit vše Re: kontrola zarovnania adresy
    if((int)ptr % zarovnani == 0) { ...
    14.3.2006 16:26 Michal Hocko | skóre: 7
    Rozbalit Rozbalit vše Re: kontrola zarovnania adresy
    a ak chcem, aby to bolo prenositelne, napr. Solaris 1, Solaris 2, HP-UX? Skor by som potreboval nejaku funkciu (makro), ktora tieto veci schova.
    14.3.2006 16:40 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: kontrola zarovnania adresy
    Nebyl bych si jistý, jestli to bude přenositelné, zejména na big endian architektury.
    14.3.2006 18:11 machr
    Rozbalit Rozbalit vše Re: kontrola zarovnania adresy
    jo, to je pravda. pokud sizeof(int) != sizeof(void*) tak na big-endian by to asi nefungovalo...

    idealni by bylo, kdyby existoval ciselnej typ, kterej je vzdy stejne velkej jako pointer. ale nikdy sem to nepotreboval, takze jestli existuje nevim...
    14.3.2006 18:13 Michal Čihař | skóre: 61 | blog: Bláboly | Praha
    Rozbalit Rozbalit vše Re: kontrola zarovnania adresy
    Jmenuje se tuším intptr_t.
    14.3.2006 18:25 machr
    Rozbalit Rozbalit vše Re: kontrola zarovnania adresy
    tak sem to zkousel a skutecne je to tak ;-)

    je definovanej v souboru unistd.h, takze pokud to tazatel chce jako makro, tak staci napsat:
    #include <unistd.h>
    
    #define TEST_MEMORY_ALIGNMENT(p, a) ((intptr_t)(p) % (a) == 0)
    
    a melo by to bejt prenositelny...
    14.3.2006 18:34 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: kontrola zarovnania adresy
    Ještě jedna poznámka: intptr_t není definován v <unistd.h> ale v <stdint.h>.
    14.3.2006 19:04 machr
    Rozbalit Rozbalit vše Re: kontrola zarovnania adresy
    ale tenhle kod me prelozit sel:
    #include <unistd.h>
    
    int main(int argc, int argv) {
            intptr_t x = 0;
    }
    
    stejne jako tenhle:
    #include <stdint.h>
    
    int main(int argc, int argv) {
            intptr_t x = 0;
    }
    
    takze <unistd.h> mozna vklada <stdint.h>
    14.3.2006 19:09 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: kontrola zarovnania adresy
    Ano, <unistd.h> includuje <stdint.h>. Rozdíl je v tom, že zatímco hlavičkový soubor <stdint.h> je definován přímo standardem jazyka C, <unistd.h> je specifický pro posixové platformy.
    15.3.2006 08:55 Michal Hocko | skóre: 7
    Rozbalit Rozbalit vše Re: kontrola zarovnania adresy
    Nejde o to, ako to definovat ako makro. To je trivialne, v momemente, ked je jasne, ake to zarovnanie skutocne je. Je mi jasne, ze taketo makro musi fungovat rovnakym alebo aspon podobnym sposobom.

    Moj dotaz ale znel: existuje (kde je definovane) makro alebo funckia niekde v systemovych knizniciach, ktora to riesi. To znamena, ze nemusim mat plno ifdef pre rozne platformy, ktora sa celkom lisia.

    Ak sa k tomu nedostanem, tak samozrejme definujem to makro samozrejme sam a budem musiet skumat, ako to je pre rozne platformy, z coho nie som velmi nadseny...

    Kazdopadne ale dakujem za rady.

    14.3.2006 18:32 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: kontrola zarovnania adresy
    Ne úplně. U intptr_t je pouze garantováno, že konverze jakéhokoli pointeru na intptr_t a zpět zachová hodnotu (tj. že intptr_t je "dost velký, aby se do něj vešel pointer"). Což v důsledku de facto implikuje sizeof(intptr_t) >= sizeof(void*). Ale stejná velikost garantována není.

    Založit nové vláknoNahoru

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

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