C'de Gecikme Nasıl Yapılır: 7 Adım (Resimlerle)

İçindekiler:

C'de Gecikme Nasıl Yapılır: 7 Adım (Resimlerle)
C'de Gecikme Nasıl Yapılır: 7 Adım (Resimlerle)

Video: C'de Gecikme Nasıl Yapılır: 7 Adım (Resimlerle)

Video: C'de Gecikme Nasıl Yapılır: 7 Adım (Resimlerle)
Video: Dizüstü bilgisayarda kopyala yapıştır nasıl yapılır 2024, Mayıs
Anonim

Hiç bir C programını belirli bir süre bekletmek istediniz mi?

Zamanın geçmesine izin verecek bir teknik ayarlayabilirsiniz, örneğin: bir oyun için bir açılış sayfası (bir uyarı veya ipucu) gösterirken.

Tamam, işte programı "hareketsiz" hale getirmenin bazı yolları, okumaya devam edin…

adımlar

C Adım 1'de gecikme
C Adım 1'de gecikme

Adım 1. Herhangi bir belirgin olay oluşturmadan CPU'nuzun bir süre çalışmasını sağlayın

C Adım 2'de gecikme
C Adım 2'de gecikme

Adım 2. Basit bir zaman gecikmesi oluşturmak için bu gecikme sırasında başka bir işlem yapmayın

Yöntem 1/2: "for-loop" tekniği

C Adım 3'te gecikme
C Adım 3'te gecikme

Adım 1. Zaman gecikmesini uygulamak için tipik bir "for" döngüsü ve ardından boş bir ifade kullanın

C Adım 4'te gecikme
C Adım 4'te gecikme

Adım 2. Örnek olarak aşağıdaki gibi yazın:

  • (i=1; i<100; i++) için;
  • Açıklamanın ardından ";" bilgisayarın döngüyü 100 kez fark edilebilir bir olay olmadan yürütmesini sağlar. Sadece zaman gecikmesi yaratır.

Yöntem 2/2: "uyku()" Tekniği

C Adım 5'te gecikme
C Adım 5'te gecikme

Adım 1. Uyku() işlevini kullanın, programın belirtilen milisaniye cinsinden süreyi beklemesini sağlayan, uyku(int ms) adlı işlev bildirildi

C Adım 6'da Gecikme
C Adım 6'da Gecikme

Adım 2. Programınıza "int main()"den önce aşağıdaki satırı ekleyin:

#Dahil etmek

C Adım 7'de gecikme
C Adım 7'de gecikme

Adım 3. Gecikme yapmak için programınıza ihtiyacınız olan her yere ekleyin:

  • uyku(1000);
  • "1000"i, beklemek istediğiniz milisaniye sayısıyla değiştirin (örneğin, 2 saniyelik bir gecikme yapmak istiyorsanız, "2000" ile değiştirin.
  • İpucu: Bazı sistemlerde değer milisaniye yerine saniyeyi ifade edebilir. Yani bazen 1000 bir saniye değil, aslında 1000 saniyedir.

İpuçları

  • Yukarıdaki mantık, while veya do-while döngüleri gibi herhangi bir döngü yapısı ve ardından boş bir ifade-";" kullanılarak uygulanabilir.
  • Milisaniye, saniyenin 1/1000'idir.

Uyarılar

  • Bu teknik genellikle önemsiz bir program dışında hiçbir şeyde işe yaramaz. Genel olarak, bunu uygulamak için zamanlayıcılar veya olaya dayalı bir yaklaşım kullanın. Aksi takdirde program gecikme süresi boyunca yanıt vermemeye başlar ve bu her zaman iyi bir şey değildir. Ayrıca, döngünüzde N'yi seçmek, talimatın yürütülmesine bağlıysa, şaşırtıcı sonuçlar doğurabilir. Görünüşe göre orijinal yazar bir optimize edici derleyiciyi hiç duymamış…aslında hiçbir şey yapmazsa tüm döngüyü optimize edebilir!
  • For döngüsünü kullanıyorsanız, derleyici kodu optimize edebilir ve döngü hiçbir şey yapmadığı için onu kaldırabilir. Delay() kullanılırken bu olmaz.
  • For-loop tekniğini kullanırken, boş bir ifade çok hızlı yürütüldüğünden, i için çok büyük bir aralığa ihtiyacınız olabileceğini unutmayın. Böyle büyük sayılar bir tamsayı türüne sığmayabilir.

Önerilen: