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 22:44 | Nová verze

    Programovací jazyk Python byl vydán v nové major verzi 3.15.0. Podrobný přehled novinek v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 0
    včera 22:33 | Zajímavý projekt

    BIGWORDS.PAGE je open-source webová aplikace, která po otevření odkazu v prohlížeči vykreslí přes celou obrazovku jednoduché informační sdělení. Zpráva i její nastavení jsou uložené v části URL za znakem #, například odkaz https://bigwords.page/#abclinuxu zobrazí jako velký bílý nápis 'abclinuxu' na černém pozadí. Obsah odkazu lze upravovat i vestavěným editorem, ten umožňuje nastavovat formátování a vizuální efekty textu, časovače, QR kódy a obrázky. Zdrojový kód je dostupný pod licencí MIT na GitHubu.

    ❗Červivý Hřib krade❗ | Komentářů: 4
    včera 11:55 | Upozornění

    V neděli 11. října proběhne rotace klíče kořenové zóny. Podruhé v historii. Ondřej Filip na blogu CZ.NIC: "Pokud je pro Vás DNS protokol spíše výzva, ale přesto spravujete nějakou síť či DNS resolver, zkuste si jednoduchý test, který připravila firma Cloudflare na této adrese. Obzvláště zbystřit byste měli, pokud uvidíte nějaká červená políčka."

    Ladislav Hagara | Komentářů: 7
    včera 09:55 | IT novinky

    Vláda Spojených států se rozhodla vyřadit americkou softwarovou společnost Microsoft a několik dalších velkých technologických podniků z programu, který umožňuje kvalifikovaným zahraničním pracovníkům získat povolení k trvalému pobytu. Oznámila to včera administrativa amerického prezidenta Donalda Trumpa. Opatření zdůvodnila rozsáhlým zneužíváním programu, který je dlouhodobě terčem kritiky ze strany Trumpových příznivců, neboť prý znevýhodňuje americké pracovníky.

    Ladislav Hagara | Komentářů: 11
    včera 09:44 | IT novinky

    Datové centrum největší ruské technologické společnosti Jandex v Rjazaňské oblasti se stalo cílem dronového útoku a zastavilo provoz. Jandexu se někdy přezdívá „ruský Google“. Provozuje nejoblíbenější internetový vyhledávač v Rusku nebo aplikace pro objednávky jídla a taxi. Využívají jej desítky milionů lidí v rusky mluvících zemích.

    Ladislav Hagara | Komentářů: 11
    včera 09:33 | Nová verze

    Francouzská společnost Mistral AI představila Mistral Large 4 (interně přezdívaný 'le Chonk', volně přeloženo 'pořádný macek'), 'open-weight multimodální hybridní instruct-and-reasoning model s architekturou granulárního MoE, nativně podporující více jak 160 jazyků'. Model má přes jeden bilión parametrů, z nichž při práci využívá 49 miliard, kontextové okno o délce milion tokenů a obrazový enkodér o 1,6 miliardách parametrů.

    … více »
    ❗Červivý Hřib krade❗ | Komentářů: 2
    včera 03:22 | Nová verze

    Svobodný multiplatformní herní engine Bevy napsaný v Rustu byl vydán ve verzi 0.20. Díky 227 přispěvatelům.

    Ladislav Hagara | Komentářů: 0
    včera 03:11 | Komunita

    Simon Long oznámil Raspberry Pi Desktop pro PC a Mac s Intelem postavený na aktualizovaném Debianu 13 Trixie. S klientem Raspberry Pi Connect pro vzdálenou správu. Ke stažení je vedle Raspberry Pi OS pro Raspberry Pi.

    Ladislav Hagara | Komentářů: 1
    8.10. 21:33 | Zajímavý projekt

    ESP32-C3 adblock přemění lacinou vývojovou desku ESP32‑C3 na samostatný DNS blokovač nejenom reklamních domén, minimalistickou alternativu k populárnímu Pi-hole. ESP32-C3 adblock místo objemných názvů domén ukládá jejich 40-bitové FNV-1a hashe do flash paměti, které pak binárně prohledává, kontrola jedné domény trvá přibližně 10 milisekund. Blocklist pojme až 537 tisíc domén a lze jej spravovat přes webové rozhraní. Projekt zatím

    … více »
    ❗Červivý Hřib krade❗ | Komentářů: 0
    8.10. 21:00 | Zajímavý software

    ArtCraft je sada open source aplikací pro práci s obrázky a videi "inspirovaných" aplikacemi od Adobe. Napsaných v Rustu. Pro MacOS, Windows i Linux. Běží také ve webovém prohlížeči. Aktuálně se jedná o 7 aplikací: PhotoCraft (Photoshop), VectorCraft (Illustrator), FilmCraft (Premiere Pro), LightCraft (Lightroom), PdfCraft (Acrobat), EffectCraft (After Effects) a DesignCraft (InDesign). Zdrojové kódy jsou k dispozici na GitHubu.

    Ladislav Hagara | Komentářů: 8
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (21%)
     (29%)
     (8%)
     (5%)
     (2%)
     (14%)
     (20%)
    Celkem 2820 hlasů
     Komentářů: 31, poslední 13.8. 00:27
    Rozcestník

    Dotaz: Potomek tridy s implementaci v .so knihovne

    9.4.2013 18:11 luky
    Potomek tridy s implementaci v .so knihovne
    Přečteno: 635×
    Potrebuju napsat potomka ke cryptopp::CascadableOStreamBuffer, ktereho potom pouziji v retezci buferu v cryptopp, mam ale problem s linkovanim - umre to na:
    undefined reference to `typeinfo for cryptopp::CascadableOStreamBuffer'
    Problem umim vyresit tak, ze smazu z Makefile cryptopp "-no-rtti" prepinac v CXXFLAGS, nicmene to zpusobi, ze libcrypto++ zacne zaviset na dalsich sdilenych knihovnach a musim rucne vynutit instance nekterych sablon. Zajimalo by me, jestli jde nejak presvedcit g++ aby vygenerovalo rtti jeste jednou v nejakem mem modulu pripadne jine reseni, ktere nevyzaduje zasah do te sdilene knihovny. THX

    Odpovědi

    9.4.2013 19:35 luky
    Rozbalit Rozbalit vše Re: Potomek tridy s implementaci v .so knihovne
    Tak jsem si to vyresil a kompiluju i svuj kod s -no-rtti, takze nezavisi na rtti nadrazenych trid.
    9.4.2013 22:40 Sten
    Rozbalit Rozbalit vše Re: Potomek tridy s implementaci v .so knihovne
    Pokud nepotřebujete dynamic_cast, pak nepotřebujete RTTI (GCC generuje RTTI pro výjimky i s -fno-rtti).

    Pokud ale RTTI (dynamic_cast) potřebujete, pak to lze řešit dvěma způsoby:
    1. použít tu instanci jako výjimku a donutit tak GCC vygenerovat patřičné RTTI (nebude fungovat spolehlivě, pokud to nebude výjimka od stvoření!)
      try {
          nejakaFunkcePouzivajiciThrowMistoReturn();
      } catch (TridaProPretypovani &instance) {
          // Jako když se povede dynamic_cast
      } catch (...) {
          // Jako když dynamic_cast selže
      }
      
    2. vygenerovat RTTI definováním nějaké metody z té třídy, typicky virtuálního destruktoru. Volat skutečnou implementaci ale potom vyžaduje šachování s linkerem:
      Class::~Class()
      {
          static void(Class::*orig)() = reinterpret_cast<void(Class::*)()>(dlsym("_ZN5ClassD2Ev", RTLD_NEXT));
          this->*orig();
      }
      
    10.4.2013 10:15 luky
    Rozbalit Rozbalit vše Re: Potomek tridy s implementaci v .so knihovne
    Muj kod je jen jednoduche lepitko mezi transformacnimi funkcemi v C a knihovnou cryptopp, nikde v mem kodu ani v knihovne se dynamic_cast nepouziva, ani se objekt nevyhazuje jako vyjimka, takze me prekvapilo, ze tam to RTTI vubec je a zacal jsem si myslet, ze je potreba pro volani virtualnich metod (a to jsem si byl jisty, ze se pred par lety na to pouzival symbol vtable).

    Muj problem byl v tom, ze RTTI gcc generuje pro vsechny objekty (pokud nepouzijete -no-rtti) a kdyz nemate RTTI pro predka, tak se RTTI potomka neslinkuje. Ja jsem cekal, ze kdyz se to RTTI nepouziva, tak ho proste linker zahodi.

    Kazdopadne diky moc za info, jak to vyresit i v pripade potreby toho RTTI.
    10.4.2013 10:19 Ivan
    Rozbalit Rozbalit vše Re: Potomek tridy s implementaci v .so knihovne
    No asi jsem mimo, ale i kdyz je predek uplne abstrakni tak by mel mit virtualni destruktor. Kdyz uz mas alespon jednu virtualni metodu implementovanou tak mas i RTTI pro predka.

    10.4.2013 10:25 Ivan
    Rozbalit Rozbalit vše Re: Potomek tridy s implementaci v .so knihovne
    Pokud napises:
    class AbsInterface {
     ...
     virtual ~AbsInterface {};
     ...
    };
    
    Tak se pro destruktor vygeneruje RTTI a zaroven bude kod destruktoru weak symbol. Tzn ten symbol bude jak v hlavni aplikaci a tak i v .so knihovne a zadnou kolizi to nezpusobi.

    10.4.2013 13:37 Sten
    Rozbalit Rozbalit vše Re: Potomek tridy s implementaci v .so knihovne
    Oboje jsou tabulky ukazatelů, ale jsou trochu odlišné. vtable ukazuje na RTTI dané třídy a na jednotlivé virtuální metody, RTTI ukazuje na RTTI předků dané třídy, jméno třídy a umí down-casting (oddělené to je kvůli vícenásobné a virtuální dědičnosti, kdy je ukazatelů na stejné RTTI v jedné vtable více). Protože je ukazatel na RTTI uložen ve vtable, tak linker nepozná, že se to může vyhodit.
    little.owl avatar 10.4.2013 23:57 little.owl | skóre: 22 | blog: Messy_Nest | Brighton/Praha
    Rozbalit Rozbalit vše Re: Potomek tridy s implementaci v .so knihovne
    Ten druhy bod je neskutecna cunarna.
    A former Red Hat freeloader.
    10.4.2013 10:09 Ivan
    Rozbalit Rozbalit vše Re: Potomek tridy s implementaci v .so knihovne
    Na tohle pouzivam abstraktni tovarnu na objeky z knihovny Loki. http://codewrangler.home.comcast.net/~codewrangler/utility/factory.h Kod je na Linuxu nutne prelozit s optionen -rdynamic. Implementace tridy je v knihovne. Nepotrebuju zadny dlsym, ani manglovani jmen, kazda knihovna ma staticky inicializator a ten zajisti vse potrebne. Nova instance tridy se vyrobi takhle:
    Lexer *l = LexerFactTwoParmSing::Instance().create("OracleGuiLexer", filename);
    
    "OracleGuiLexer" - je "jmeno" tridy s implementaci(pod kterym byla zaregistrovana).
    filename je 1. parametr pro konstruktor.

    Založit nové vlákno • Nahoru

    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.