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 12:22 | IT novinky

    V březnu byla oznámena spolupráce GrapheneOS s Motorolou. Nejnovější vlajka Motorola Signature 27 je první Motorola s oficiální podporou GrapheneOS. GrapheneOS (Wikpedie) je varianta Androidu zaměřující se na bezpečnost a soukromí.

    Ladislav Hagara | Komentářů: 1
    dnes 04:55 | Nová verze

    Omarchy (Wikipedie) je linuxová distribuce s dlaždicovým správcem oken Hyprland. Založena je na Arch Linuxu. Vydána byla v nové verzi 4.5.0. Nově také pro Apple Silicon, konkrétně pro M1/M2/M3/Neo MacBooky.

    Ladislav Hagara | Komentářů: 4
    dnes 03:22 | Nová verze

    Byla vydána nová stabilní verze 8.3 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 156 s bezpečnostními opravami z Chromia 157. Přehled novinek i s náhledy v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 1
    včera 19:53 | Bezpečnostní upozornění
    V Xenu objevena zranitelnost. Chyba v mechanismu grant copy umožňuje škodlivému virtuálnímu stroji číst a přepisovat libovolnou paměť jiných VM včetně privilegované domény Dom0. Dotčené verze jsou Xen 4.6 a novější. V upstreamu jsou dostupné patche pro Xen 4.17 až 4.19 a vývojovou větev. Pro starší nepodporované verze 4.6–4.16 nejsou v XSA-523 přiloženy opravy.
    vencour | Komentářů: 1
    včera 16:55 | Nová verze

    Multimediální přehrávač mpv byl vydán ve verzi 0.42.0. Jde o větší balík změn po bezmála roce. Mimo jiné se lépe integruje s Waylandem nebo rozšiřuje podporu DVD/Blu-ray, např. umožňuje přehrávat rovnou obrazy médií (soubory iso).

    ʚĭɞ 🍉 | Komentářů: 0
    včera 12:22 | Nová verze

    Desktopové prostředí LXQt (Lightweight Qt Desktop Environment, Wikipedie) vzniklé sloučením projektů Razor-qt a LXDE bylo vydáno ve verzi 2.5.0. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 12:11 | Nová verze

    Byla vydána (𝕏) nová verze 8.0 LTS open source monitorovacího systému Zabbix (Wikipedie). Přehled novinek v oznámení na webu, v poznámkách k vydání a v aktualizované dokumentaci.

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

    Byla vydána verze R14.1.7 desktopového prostředí Trinity Desktop Environment (TDE, fork KDE 3.5, Wikipedie). Přehled novinek v poznámkách k vydání, podrobnosti v seznamu změn.

    JZD | Komentářů: 4
    včera 00:33 | Nová verze

    Bazzite (Wikipedie), tj. linuxová distribuce vycházející z Fedora Linuxu a optimalizována pro hraní počítačových her, byla vydána ve verzi 45. S Open Gaming Collective (OGC) jádrem a novým Easy Anti-Cheatem pro Linux (EAC Linux v2).

    Ladislav Hagara | Komentářů: 0
    4.11. 22:11 | Bezpečnostní upozornění

    MikroTik zveřejnil vlastní bezpečnostní upozornění potvrzující, že zranitelnost linuxového jádra postihuje také RouterOS 7. Jde o use-after-free při zpracování IPv4 TCP spojení s IP options. Zranitelnost se týká provozu směřujícího na TCP službu samotného routeru, nikoli paketů, které router pouze přeposílá. Opraveno v long-term od 7.24.6, v stable od 7.25.1 a devel od 7.26beta5.

    vencour | Komentářů: 1
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (21%)
     (30%)
     (9%)
     (5%)
     (2%)
     (14%)
     (20%)
    Celkem 2990 hlasů
     Komentářů: 34, poslední 26.10. 08:24
    Rozcestník

    Dotaz: C++ měření času

    17.12.2010 10:37 krb | blog: herni_blog
    C++ měření času
    Přečteno: 1544×
    Zdravím, potřeboval bych do jednoho programu, který píšu v C++ zapasovat měření času, resp. odpočítávání 30 vteřin a jakmile by je odpočítal, spustilo by to nějaký proces nebo funkci. Nevíte si s tím někdo rady?

    Řešení dotazu:


    Odpovědi

    17.12.2010 10:45 jam001 | skóre: 19
    Rozbalit Rozbalit vše Re: C++ měření času
    pomoze sleep?
    17.12.2010 10:52 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: C++ měření času
    V nejhorším čas můžete měřit pomocí gettimeofday() a v cyklu si to kontrolovat a udělat „bum“ po daném intervalu.
    V trochu lepším případě můžete udělat smyčku ze sleep(30) a před tím nebo za tím udělat „bum“.
    Nebo můžete spustit thread (#include <pthread.h>) a pomocí pthread_cond_timedwait() ve smyčce udělat „bum“.
    Nebo použít libovolný timer.
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    17.12.2010 11:20 l4m4
    Rozbalit Rozbalit vše Re: C++ měření času
    Pokud má program GUI, tak se povídej do dokumentace toolkitu, timery jsou běžně součástí smyčky událostí (byť ne velmi přesné).

    Na nízké úrovni naopak můžeš použít setitimer() a přijde ti SIGALARM.
    AraxoN avatar 17.12.2010 11:29 AraxoN | skóre: 47 | blog: slon_v_porcelane | Košice
    Rozbalit Rozbalit vše Re: C++ měření času
    Cez signal() si nahodíš handler na SIGALRM a cez alarm() si nastavíš kedy sa má spustiť.

    Viď tiež:
    man 2 signal
    man 2 alarm
    17.12.2010 15:38 krb | blog: herni_blog
    Rozbalit Rozbalit vše Re: C++ měření času
    
    int main()
    {
      cout << "Ahoj";
      sleep(2);
      cout << " Jak je?";
      cout << endl;
      
      return 0;
    }
    Pokud do zdroje vložím tento kód, tak to sice funguje, ale program po 2 sekundách napíšech Ahoj Jak je? a přitom by měl napsat Ahoj a po dvou sekundách Jak je? Nevíte v čem mám chybu?
    Vojta Drbohlav avatar 17.12.2010 15:44 Vojta Drbohlav | skóre: 26 | blog: Blog | Strahov
    Rozbalit Rozbalit vše Re: C++ měření času
    Za cout << "Ahoj" musíš použít funkci ostream::flush() a nebo std::cout << std::endl;, který vypíše nový řádek a provede flush.
    17.12.2010 15:51 krb | blog: herni_blog
    Rozbalit Rozbalit vše Re: C++ měření času
    Jo, díky, teď už to funguje. A nevíš jak bych mohl udělat, aby vlastně po sleep(2) napsal něco jinýho na stejné místo, kde bylo to předchozí a to předchozí vymazal? Jako že když chci udělat odpočítávání tak
    cout << "0:30"
    sleep(1);
    cout << "0:29 /na stejné místo jako bylo 0:30
    17.12.2010 16:30 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: C++ měření času
    Můžete použít backspace ('\b') nebo rovnou CR ('\r'). Pravděpodobně také bude potřeba dát tam flush kvůli bufferování výstupu.
    17.12.2010 16:42 krb | blog: herni_blog
    Rozbalit Rozbalit vše Re: C++ měření času
    Tak mi to nešlo, protože na předchozí řádek se to nevrátí. Ale pak jsem přišel jak na to, místo
    std::cout << std::endl
    jsem napsal
    std::cout << std::flush;
    a už se to přepisuje. Takže jinak díky za rady :)
    17.12.2010 21:52 krb | blog: herni_blog
    Rozbalit Rozbalit vše Re: C++ měření času
    Tak jsem se během psaní potkal s dalším problémem. V programu jsem si vytvořil funkci timer();, která odpočítává 30 vteřin. V jedné části má uživatel právě 30 vteřin na rozhodnutí se, co zvolí za volbu. Vypadá to asi nějak takhle:

    Vyberte: 1) ano 2) ne >> 0:30

    Ale problém je v tom, že kurzor si sám najede na to odpočítávání 0:30 a přitom by měl být za
    >>
    těmito znaky.
    18.12.2010 03:54 zulu
    Rozbalit Rozbalit vše Re: C++ měření času
    tak ho tam posuň
    19.12.2010 19:35 krb | blog: herni_blog
    Rozbalit Rozbalit vše Re: C++ měření času
    To právě nejde, ono to prostě kurzorem najede na to odpočítávání a ten výstup napíše až to odpočítá

    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.