Jak organizovat zpoždění provádění programu v c

Už jste někdy chtěli vytvořit program na C, který řádky určitý čas? Můžete konfigurovat způsob "Fly", například: Při zobrazení pop-up stránky (oznámení nebo tip) pro přehrávání. . Ok, zde jsou některé způsoby, jak vytvořit program "stojan ještě" (stánek), přečtěte si ...

Kroky

  1. Obrázek s názvem Zpoždění v kroku 1
jeden. Nechte svůj procesor pracovat nějakou dobu, aniž byste způsobili znatelnou událost.
  • Obrázek s názvem Zpoždění v c Krok 2
    2. Během tohoto zpoždění neprovádějte jiné operace pro vytvoření jednoduchého dočasného zpoždění.
  • Metoda 1 z 2:
    Metodikikkla "for-loop"
    1. Obrázek s názvem Zpoždění v c Krok 3
    jeden. Použijte typický "pro", následovaný prázdným operátorem k implementaci zpoždění.
  • Obrázek s názvem Zpoždění v C Step 4
    2. Napište následujícím způsobem:
  • pro (i = 1 - i<100>
  • Provozovatel pokračuje po ";", aby počítač provedl cyklus 100 krát bez znatelné události. Vytváří pouze dočasný zpoždění.
  • Metoda 2 z 2:
    Metoda "spánek ()"
    1. Obrázek s názvem Zpoždění v c Krok 5
    jeden. Použijte spánek ().Funkce je volána (INT MS), deklarovaná v
  • Obrázek s názvem Zpoždění v kroku c
    2. Zapněte následující řádek na programátor "Int Major ()":
  • #Zahrnout
  • Obrázek s názvem Zpoždění v c Krok 7
    3. Vložit tam, kde je nutné, aby váš program zpoždění:
  • Spánek (1000);
  • Změnit "1000" na počet milisekund, které chcete počkat (například, pokud chcete udělat 2drát zpoždění, nahradit ji pomocí "2000".
  • Tip: V některých systémech může být hodnota označena v sekundách místo milisekund. Proto někdy 1000 - není 1 s, ale ve skutečnosti 1000 sekund.
  • Ukázkový kód

    Program, který očekává určitý počet sekund:

    #Zahrnout #Zahrnout int Hlavní () {INT DEL- // Zpoždění periodPrintf ("Zadejte čas zpoždění (v sekundách):") -Scanf ("% i", & del) -del * = 1000- // vynásobte to 1000 k převodu Na MilisecondSdelay (del) - // zpoždění.Printf ("Hotovo).") -Return 0-}


    Program, který provádí odpočítávání od 10 do 0:

    #Zahrnout #Zahrnout  Hlavní () {int I-for (i = 10- I> = 0- I -) {Printf ("% i n", i) - // Napište aktuální `odpočítávání` numberdelay (1000) - // počkejte Druhý} Návrat 0-}

    Tipy

    • Millisecunda je 1/1000 sekund.
    • Výše uvedený algoritmus lze implementovat pomocí jakékoli cyklické struktury s následným nulovým operátorem - "- jak je používán v době nebo do-chvíli.

    Varování

    • Tato metoda je obvykle zbytečná v jiném jiném než triviálním programu. Obecně používejte časovače nebo událost orientovaný přístup k implementaci. V opačném případě program nebude reagovat v době zpoždění a není vždy dobré. Kromě toho volba N v cyklu, pokud závisí na provádění příkazů, může mít neočekávané výsledky. Zdá se, že zdrojový autor nikdy neslyšel o optimalizačním kompilátoru ... Může optimalizovat celý cyklus, pokud vlastně nic neudělá !
    • Všimněte si, že při použití metody "for-loop" ("pro" cyklus) může být nezbytné pro velmi velký interval pro I, protože prázdný operátor se provádí velmi rychle. Taková velká čísla nesmí zapadnout do celého čísla.
    • Pokud používáte "for-loop", kompilátor může optimalizovat kód, a protože cyklus nic neudělá, odstraňte jej. To nedochází při použití zpoždění ().
    Podobné publikace