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
Adım 1. Herhangi bir belirgin olay oluşturmadan CPU'nuzun bir süre çalışmasını sağlayın
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
Adım 1. Zaman gecikmesini uygulamak için tipik bir "for" döngüsü ve ardından boş bir ifade kullanın
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
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
Adım 2. Programınıza "int main()"den önce aşağıdaki satırı ekleyin:
#Dahil etmek
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.