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í
×

    dnes 14:11 | Pozvánky

    Zítra 23. září proběhne Maker Faire Mladá Boleslav, festival plný workshopů, interaktivních činností a především nadšených a zvídavých lidí.

    Ladislav Hagara | Komentářů: 1
    dnes 13:33 | Nová verze

    Byla vydána beta verze Ubuntu 23.10 s kódovým názvem Mantic Minotaur. Přehled novinek v poznámkách k vydání. Dle plánu by Ubuntu 23.10 mělo vyjít 12. října 2023.

    Ladislav Hagara | Komentářů: 6
    dnes 11:22 | Zajímavý článek

    Josef Průša informuje o nových verzích firmwarů pro tiskárny Original Prusa, 5.0.0 pro MK4 a MK3.9 a 5.1.0-alpha1 pro MINI, díky kterým jsou tiskárny mnohem rychlejší.

    Ladislav Hagara | Komentářů: 1
    dnes 09:11 | Nová verze

    Mastodon (Wikipedie), svobodná federalizovaná sociální síť, byl vydán ve verzi 4.2. Z novinek je vypíchnuto vylepšené vyhledávání.

    Ladislav Hagara | Komentářů: 1
    dnes 08:55 | Zajímavý článek

    Ben Hawkes publikoval pod názvem The WebP 0day analýzu bezpečnostní chyby CVE-2023-4863 v knihovně WebP / libwebp s řadou zajímavých odkazů. Pravděpodobně se jedná o stejnou chybu jako BLASTPASS (CVE-2023-41064 a CVE-2023-41061) v macOS, iOS, iPadOS a watchOS. Zpracování (zobrazení) speciálně připraveného obrázku nebo přílohy vedlo ke spuštění útočníkem připraveného kódu.

    Ladislav Hagara | Komentářů: 1
    dnes 08:11 | Zajímavý článek

    Myš je pro kočku: Prohlížeče je dalším dílem ze série článků Myš je pro kočku, kde Edvard Rejthar ukazuje, jak lze počítač ovládat bez myši. Používáte ve webových prohlížečích zkratky Ctrl+(Shift)+Tab, Ctrl+(Shift)+PgDn/PgUp, F6, (Shift)+Alt+Enter nebo F7?

    Ladislav Hagara | Komentářů: 2
    včera 14:33 | Nová verze

    Vývojáři mobilní Datovky prosí o pomoc s testováním beta verze mobilní Datovky s novým grafickým rozhraním, podporou pro tmavý režim a podporou pro VoDZ. Aplikace je zatím dostupná pouze pro zařízení Android a je umístěna v samostatném instalačním kanále Datovka Beta. Tento kanál slouží pro testovaní nové funkcionality a grafického uživatelského rozhraní. Datovka Beta se instaluje jako samostatná aplikace s vlastními daty, která

    … více »
    Ladislav Hagara | Komentářů: 1
    včera 13:22 | Zajímavý software

    Harlequin byl vydán ve verzi 1.0.0. Jedná se o TUI (Text User Interface) IDE (Integrated Development Environment) k systému pro správu SQL OLAP databází DuckDB.

    Ladislav Hagara | Komentářů: 0
    včera 12:55 | IT novinky

    Po roce a půl od představení DALL·E 2 představila společnost OpenAI novou verzi DALL·E 3 svého AI systému pro generování "realisticky vypadajících obrázků nebo uměleckých děl" na základě popisu v přirozeném jazyce, viz příklad "kosmonaut na koni fotorealisticky". Jednou z novinek je integrace s ChatGPT.

    Ladislav Hagara | Komentářů: 0
    včera 09:00 | Nová verze

    Nová čísla časopisů od nakladatelství Raspberry Pi: MagPi 133 (pdf) a HackSpace 70 (pdf).

    Ladislav Hagara | Komentářů: 0
    Knihy s linuxovou tematikou
     (20%)
     (15%)
     (51%)
     (27%)
    Celkem 271 hlasů
     Komentářů: 11, poslední 17.9. 19:19
    Rozcestník

    Dotaz: kontrola zarovnania adresy

    14.3.2006 16:13 Michal Hocko | skóre: 7
    kontrola zarovnania adresy
    Přečteno: 130×
    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.