آیا تا به حال خواسته اید برنامه C را برای مدت معینی منتظر بگذارید؟
شما می توانید تکنیکی را طوری تنظیم کنید که زمان را از بین ببرید ، به عنوان مثال: هنگام نمایش صفحه چلپ چلوپ (اعلان یا اشاره) برای یک بازی.
خوب ، در اینجا چند روش برای ایجاد برنامه "ایستاده" آمده است ، در ادامه بخوانید…
مراحل
مرحله 1. CPU خود را برای مدتی بدون ایجاد هیچ رویداد قابل توجهی کار کنید
مرحله 2. برای ایجاد یک تاخیر زمانی ساده ، هیچ عملیات دیگری را در طول این تاخیر انجام ندهید
روش 1 از 2: تکنیک "for-loop"
مرحله 1. از حلقه "for" معمولی و به دنبال آن دستور null برای پیاده سازی زمان استفاده کنید
مرحله 2. به عنوان مثال بنویسید:
- برای (i = 1 ؛ i <100 ؛ i ++) ؛
- بیانیه به دنبال "؛" باعث می شود کامپیوتر 100 بار حلقه را بدون هیچ گونه اتفاق قابل توجه اجرا کند. فقط یک تاخیر زمانی ایجاد می کند.
روش 2 از 2: تکنیک "خواب ()"
مرحله 1. از sleep () تابع به نام sleep (int ms) اعلام شده استفاده کنید که باعث می شود برنامه در زمان میلی ثانیه مشخص شده منتظر بماند
مرحله 2. قبل از "int main ()" خط زیر را در برنامه خود قرار دهید:
#عبارتند از
مرحله 3. هر جایی که برای تأخیر به برنامه خود نیاز دارید وارد کنید:
- خواب (1000) ؛
- "1000" را به تعداد میلی ثانیه که می خواهید منتظر بمانید تغییر دهید (برای مثال ، اگر می خواهید 2 ثانیه تأخیر داشته باشید ، آن را با "2000" جایگزین کنید.
- نکته: در برخی از سیستم ها ممکن است مقدار به جای میلی ثانیه به ثانیه اشاره داشته باشد. بنابراین گاهی اوقات 1000 یک ثانیه نیست ، بلکه در حقیقت 1000 ثانیه است.
نکات
- منطق فوق را می توان با استفاده از هر ساختار حلقه ای و به دنبال آن عبارت null-"؛" پیاده سازی کرد ، مانند استفاده از حلقه های while یا do-while.
- میلی ثانیه 1/1000 ثانیه است.
هشدارها
- این تکنیک به طور کلی در هر چیزی غیر از برنامه بی اهمیت بی فایده است. به طور کلی ، از زمان سنج یا رویکرد رویداد محور برای اجرای این امر استفاده کنید. در غیر این صورت برنامه در زمان تاخیر پاسخگو نخواهد بود و این همیشه چیز خوبی نیست. علاوه بر این ، انتخاب N در حلقه شما ، اگر به اجرای دستور بستگی دارد ، ممکن است نتایج شگفت انگیزی داشته باشد. ظاهراً نویسنده اصلی هرگز در مورد یک کامپایلر بهینه سازی نشنیده است … اگر در واقع هیچ کاری انجام ندهد ممکن است کل حلقه را بهینه کند!
- اگر از حلقه for استفاده می کنید ، کامپایلر ممکن است کد را بهینه کند ، و چون حلقه هیچ کاری نمی کند ، آن را حذف کنید. هنگام استفاده از تاخیر () این اتفاق نمی افتد.
- توجه داشته باشید که هنگام استفاده از تکنیک for-loop ، ممکن است برای i یک دهانه بسیار بزرگ نیاز داشته باشید ، زیرا یک عبارت خالی بسیار سریع اجرا می شود. چنین اعداد بزرگی ممکن است در یک نوع صحیح قرار نگیرند.