გსურდათ ოდესმე C პროგრამის დალოდება გარკვეული დროის განმავლობაში?
თქვენ შეგიძლიათ შექმნათ ტექნიკა, რომელიც საშუალებას მოგცემთ დრო მონიშნოთ, მაგალითად: თამაშისას splash გვერდის (შეტყობინების ან მინიშნების) ჩვენებისას.
კარგი, აქ არის რამოდენიმე გზა, რომ პროგრამა "გაჩერდეს", წაიკითხე …
ნაბიჯები
ნაბიჯი 1. გახადეთ თქვენი პროცესორი გარკვეული დროის განმავლობაში რაიმე შესამჩნევი მოვლენის წარმოების გარეშე
ნაბიჯი 2. არ გააკეთოთ სხვა ოპერაცია ამ შეფერხების დროს, რათა შეიქმნას მარტივი დროის შეფერხება
მეთოდი 2 დან 2: "მარყუჟისათვის" ტექნიკა
ნაბიჯი 1. გამოიყენეთ ტიპიური "for" მარყუჟი, რასაც მოჰყვება null განცხადება დროის შეფერხების განსახორციელებლად
ნაბიჯი 2. ჩაწერეთ შემდეგნაირად, მაგალითისთვის:
- for (i = 1; i <100; i ++);
- განცხადება მოჰყვა ";" აიძულებს კომპიუტერს შეასრულოს მარყუჟი 100 -ჯერ შესამჩნევი მოვლენის გარეშე. ეს მხოლოდ დროის შეფერხებას ქმნის.
მეთოდი 2 დან 2: "ძილის ()" ტექნიკა
ნაბიჯი 1. გამოიყენეთ ძილი () გამოცხადებული ფუნქცია sleep (int ms), რომლის დროსაც პროგრამა პროგრამას დაელოდება განსაზღვრულ მილიწამებში
ნაბიჯი 2. ჩართეთ შემდეგი ხაზი თქვენს პროგრამაში "int main ()" - მდე:
#ჩართეთ
ნაბიჯი 3. ჩადეთ, სადაც არ უნდა დაგჭირდეთ თქვენი პროგრამა დაგვიანების მიზნით:
- ძილი (1000);
- შეცვალეთ "1000" მილიწამების რაოდენობაზე, რომლის ლოდინიც გსურთ (მაგალითად, თუ გსურთ 2 წამიანი შეფერხება, შეცვალეთ იგი "2000" -ით.
- რჩევა: ზოგიერთ სისტემაში ღირებულება შეიძლება მიუთითებდეს წამებზე, მილიწამების ნაცვლად. ზოგჯერ ზოგჯერ 1000 არ არის ერთი წამი, არამედ, ფაქტობრივად, 1000 წამი.
Რჩევები
- ზემოაღნიშნული ლოგიკა შეიძლება განხორციელდეს ნებისმიერი მარყუჟის სტრუქტურის გამოყენებით, რასაც მოჰყვება null განცხადება-";", ისევე როგორც while ან do-while მარყუჟების გამოყენებით.
- მილიწამი არის 1/1000 წამი.
გაფრთხილებები
- ეს ტექნიკა საერთოდ უსარგებლოა არაფერში, გარდა ტრივიალური პროგრამისა. ზოგადად, გამოიყენეთ ქრონომეტრები ან მოვლენებზე ორიენტირებული მიდგომა ამის განსახორციელებლად. წინააღმდეგ შემთხვევაში პროგრამა დაგვიანებული დროის განმავლობაში არ რეაგირებს და ეს ყოველთვის არ არის კარგი. გარდა ამისა, თქვენს მარყუჟში N– ს არჩევა, თუ ეს დამოკიდებულია ინსტრუქციის შესრულებაზე, შეიძლება გასაკვირი შედეგები მოჰყვეს. როგორც ჩანს, ორიგინალურ ავტორს არასოდეს სმენია შემდგენლის ოპტიმიზაციის შესახებ … მას შეუძლია მთელი მარყუჟის ოპტიმიზაცია, თუ ის რეალურად არაფერს აკეთებს!
- თუ თქვენ იყენებთ for-loop- ს, შემდგენელმა შეიძლება მოახდინოს კოდის ოპტიმიზაცია და, რადგან მარყუჟი არაფერს აკეთებს, წაშალოს იგი. ეს არ ხდება დაგვიანების () გამოყენებისას.
- გაითვალისწინეთ, რომ for-loop ტექნიკის გამოყენებისას შეიძლება დაგჭირდეთ i– ის ძალიან დიდი მონაკვეთი, რადგან ცარიელი განცხადება შესრულებულია ძალიან სწრაფად. ასეთი დიდი რიცხვები შეიძლება არ შეესაბამებოდეს მთელ რიცხვს.