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 01:00 | Nová verze

Známý šifrovaný komunikátor Signal od verze 3.30.0 již nevyžaduje Google Play Services. Autoři tak po letech vyslyšeli volání komunity, která dala vzniknout Google-free forku LibreSignal (dnes již neudržovaný). Oficiální binárky jsou stále distribuované pouze přes Google Play, ale lze použít neoficiální F-Droid repozitář fdroid.eutopia.cz s nezávislými buildy Signalu nebo oficiální binárku stáhnout z Google Play i bez Google účtu

… více »
xm | Komentářů: 1
včera 23:14 | Nová verze

Po třech týdnech od vydání první RC verze byla vydána první stabilní verze 17.01.0 linuxové distribuce pro routery a vestavěné systémy LEDE (Linux Embedded Development Environment), forku linuxové distribuce OpenWrt. Přehled novinek v poznámkách k vydání. Dotazy v diskusním fóru.

Ladislav Hagara | Komentářů: 4
včera 17:28 | Bezpečnostní upozornění

Byly zveřejněny informace o bezpečnostní chybě CVE-2017-6074 v Linuxu zneužitelné k lokální eskalaci práv. Jde o chybu v podpoře DCCP (Datagram Congestion Control Protocol). Do linuxového jádra se dostala v říjnu 2005. V upstreamu byla opravena 17. února (commit). Bezpečnostní chyba byla nalezena pomocí nástroje syzkaller [Hacker News].

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

Společnost Valve vydala novou beta verzi SteamVR. Z novinek lze zdůraznit oficiální podporu Linuxu. Další informace o podpoře této platformy pro vývoj virtuální reality v Linuxu v diskusním fóru. Hlášení chyb na GitHubu.

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

Po necelém roce od vydání verze 0.67 byla vydána verze 0.68 populárního telnet a ssh klienta PuTTY. Podrobnosti v přehledu změn. Řešeny jsou také bezpečnostní chyby.

Ladislav Hagara | Komentářů: 0
21.2. 21:32 | Nasazení Linuxu

Canonical představuje nejnovější verzi chytré helmy DAQRI s Ubuntu pro rozšířenou realitu. K vidění bude příští týden v Barceloně na veletrhu Mobile World Congress 2017.

Ladislav Hagara | Komentářů: 0
21.2. 21:31 | Pozvánky

Pro zájemce o hlubší znalosti fungování operačních systémů připravila MFF UK nový předmět Pokročilé operační systémy, v rámci něhož se vystřídají přednášející nejen z řad pracovníků fakulty, ale dorazí také odborníci ze společností AVAST, Oracle, Red Hat a SUSE. Tento předmět volně navazuje na kurz Operační systémy ze zimního semestru, ale pokud máte praktické zkušenosti odjinud (například z přispívání do jádra Linuxu) a chcete si

… více »
Martin Děcký | Komentářů: 6
21.2. 21:30 | Pozvánky

Czech JBoss User Group Vás srdečně zve na setkání JBUG v Brně, které se koná ve středu 1. března 2017 v prostorách Fakulty Informatiky Masarykovy Univerzity v místnosti A318 od 18:00. Přednáší Tomáš Remeš a Matěj Novotný na téma CDI 2.0 - New and Noteworthy. Více informací na Facebooku a na Twitteru #jbugcz.

mjedlick | Komentářů: 0
20.2. 23:45 | Zajímavý software

Na blogu Qt bylo představeno Qt 3D Studio. Jedná se o produkt dosud známý pod názvem NVIDIA DRIVE™ Design Studio. NVIDIA jej věnovala Qt. Jedná se o několik set tisíc řádků zdrojového kódu. Qt 3D Studio bude stejně jako Qt k dispozici jak pod open source, tak pod komerční licencí. Ukázka práce s Qt 3D Studiem na YouTube.

Ladislav Hagara | Komentářů: 10
20.2. 17:50 | Komunita

Nadace The Document Foundation (TDF) zastřešující vývoj svobodného kancelářského balíku LibreOffice slaví 5 let od svého oficiálního vzniku. Nadace byla představena 28. září 2010. Formálně byla založena ale až 17. února 2012.

Ladislav Hagara | Komentářů: 0
Jak se stavíte k trendu ztenčování přenosných zařízení (smartphony, notebooky)?
 (13%)
 (2%)
 (71%)
 (3%)
 (10%)
Celkem 689 hlasů
 Komentářů: 66, poslední včera 18:57
    Rozcestník

    Dotaz: C++ endian

    19.4.2011 22:45 martin
    C++ endian
    Přečteno: 377×
    Nazdar,

    dnes som sa zacal zaoberat s big endian a little endian. Opisal som program z knihy Profesionalne Linux programovani aplikaci a po skompilovani som dospel k tomu ze mam big endian. To by bolo aj fajn ked ako vystup mi hodilo toto:

    0xdeadbeef

    [0] = 0xffffffef [1] = 0xffffffbe [2] = 0xffffffad [3] = 0xffffffde

    Prikladam zdrojovy kod.

    Podla big endian by mal byt vystup skor [0] = 0xffffffde [1] = 0xffffffad [2] = 0xffffffbe [3] = 0xffffffef

    Viete mi niekto vysvetlit kde moze byt chyba? Alebo som ja zle pochopil endian ?

    Dakujem :)

    Řešení dotazu:


    Odpovědi

    19.4.2011 23:02 ghost
    Rozbalit Rozbalit vše Re: C++ endian
    "dospel k tomu ze mam big endian" Jak? Mas nejaky "exoticky" hw? Protoze treba procesory kompatibilni s Intel x86 jsou (aspon co je mi znamo) prave LE.
    19.4.2011 23:08 martin
    Rozbalit Rozbalit vše Re: C++ endian
    Konkretne mam CPU E8400 co je 64-bit. A tym padol by mal byt big endian. Lenze mne program vypisal vystup, ktory zodpoveda little endian. Preco ? :D
    19.4.2011 23:11 ghost
    Rozbalit Rozbalit vše Re: C++ endian
    rekl bych, ze problem je v samotne detekci. Ty mas: int little_endian(){ int endian = 1; return (0==((char*)&endian)); } A podle mne by melo byt: int little_endian(){ int endian = 1; return (0==(*(char*)&endian)); }
    19.4.2011 23:19 ghost
    Rozbalit Rozbalit vše Re: C++ endian
    1.Omlouvam se za formatovani.
    2.Snad me vetsi znalci C/C++ neukamenuji. Porovnani ((char*)&endian)) == 0 je spatne, protoze ty porovnavas int (hodnotu) s ukazatelem na char. Aby to bylo spravne, tak jej musis dereferencovat: (*(char*)&endian)) == 0
    20.4.2011 11:55 Sten
    Rozbalit Rozbalit vše Re: C++ endian
    Core 2 je x86-64, což je architektura založená na x86 a to je little endian. Bitovost procesoru nemá s endianitou nic společného.
    19.4.2011 23:16 martin
    Rozbalit Rozbalit vše Re: C++ endian
    Ahah, mas pravdu mam tam chybu ma to tak byt ako si napisal. No po skompilovani stale to iste, nic sa nezmenilo.
    19.4.2011 23:22 ghost
    Rozbalit Rozbalit vše Re: C++ endian
    musis ted porovnavat s 1, ptz jestli je LE, tak 1 bude prave na zacatku
    20.4.2011 00:45 Sten
    Rozbalit Rozbalit vše Re: C++ endian
    Nejjednodušší způsob, jak otestovat endianitu na Linuxu (pokud nechcete používat to makro):
    #include <arpa/inet.h>
    
    bool bigEndian = htons(0x1234) == 0x1234;
    Funkce htons převádí endianitu z místní na síťovou a síťová endianita je velká. Takže pokud je po převodu číslo nezměněné, počítá stroj ve velkém endiánu.

    Co se týče vašeho zdrojáku, má to být takto:
    return 1 ==(*reinterpret_cast<char*>(&endian));
    Když tam máte 0, testujete big endian, ne little endian (na little endian bude nejméně významný bajt první, což je ten, který obsahuje tu jedničku).

    Po přetypování to musíte dereferencovat (operátorem *), jinak porovnáváte ukazatel, ne hodnotu (a ten ukazatel nikdy nebude nullptr).

    A je to C++, tak raději používejte přetypování z C++.
    20.4.2011 17:15 ghost
    Rozbalit Rozbalit vše Re: C++ endian
    A je to C++, tak raději používejte přetypování z C++.
    V C/C++ nedelam, muzete mi osvetlit v cem se to ve vysledku lisi? Resp. proc je to vyhodnejsi? Jen co do cistoty kodu, ci to ma i jiny vyznam? Diky
    clayman avatar 20.4.2011 17:49 clayman | skóre: 13 | Praha 6
    Rozbalit Rozbalit vše Re: C++ endian
    Za Stena mluvit nemůžu, ale předpokládám, že hlavní výhoda tkví v tom, že používáte knihovní funkci, tzn. praxí ověřenou věc namísto vlastních krkolomných konstrukcí, které mohou být náchylné k chybám. :-)
    clayman avatar 20.4.2011 20:06 clayman | skóre: 13 | Praha 6
    Rozbalit Rozbalit vše Re: C++ endian
    Eh, jsem si měl pořádně přečíst tvůj citát... :-(
    20.4.2011 17:58 Sten
    Rozbalit Rozbalit vše Re: C++ endian
    Význam je hlavně v tom, že explicitně říkáte, co tím přetypováním chcete udělat, jestli chcete odstranit const (const_cast), přetypovat natvrdo (static_cast), dynamicky (dynamic_cast) anebo úplně změnit význam nějakého pointeru (reinterpret_cast) (případně si pak můžete nadefinovat i vlastní přetypovávání, např. v Boostu je hodně dobré lexical_cast, které překládá obsah proměnných), takže pokud tam uděláte chybu (třeba reinterpret_cast zároveň odstraní const), tak to překladač odmítne přeložit.

    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.