زمان کامپایل
در علوم رایانه، زمان کامپایل (به انگلیسی: Compile time) ممکن است به چهار مورد اشاره کند[1]:
- به عملیات انجام شده توسط کامپایلر (که به آن عملیات زمان کامپایل گفته میشود)[1].
- نیازمندی زبان برنامه نویسی که باید توسط کد منبع برآورده شود، برای آنکه به صورت موفقیت آمیز کامپایل شود (که به آن نیازمندی های زمان کامپایل گفته می شود)[1].
- ویژگی های برنامه، که در مدت کامپایل در مورد آن بحث می شود[1].
- یا زمان کامپایل به مدت زمانی اشاره دارد که در آن کد برنامه نویسی به کد ماشین تبدیل می شود (مثلا کد دودویی) و معمولا قبل از زمان اجرا رخ می دهد[1].
اجرای برنامه |
---|
مفاهیم عمومی |
انواع کد |
راهبردهای کامپایل |
|
زمان اجرای قابل ذکر |
|
کامپایلرها و زنجیرابزارهای قابل ذکر |
توضیحات
- عملیاتی که در زمان کامپایل انجام می شود معمولا شامل: تحلیل نحوی، انواع مختلفی از تحلیل معنایی (مثلا بررسی نوع و نمونه برداری از الگو) و تولید کد[1].
- تعاریف زبان های برنامه نویسی معمولا نیازمندی های زمان کامپایل را که کد منبع باید برآورده نماید تا به صورت موفقیت آمیز کامپایل گردد، را مشخص می کند. برای مثال، زبان می تواند قید کند که مقدار حافظه ی مورد نیاز انواع و متغیرها می تواند کمینه گردد[1].
- ویژگی های برنامه که می توان در زمان کامپایل در مورد آنها بحث کرد، شامل بررسی های محدوده (مثلا اثبات آنکه یک اندیس آرایه از محدوده ی آرایه خارج نمی شود)، آزادی بن بست ها (deadlock) در زبان های همزمان، یا زمانبندی (مثلا اثبات آنکه یک ترتیب از فعالیت های کدی بیشتر از یک مقدار زمان تخصیص داده شده نیست)[1]. زمان کامپایل که قبل از زمان اتصال رخ می دهد (زمانی که خروجی یک یا بیشتر فایل کامپایل شده به همدیگر متصل می گردد) و زمان اجرا (زمانی که یک برنامه اجرا می گردد). در بعضی از زبان های برنامه نویسی ممکن است نیاز باشد که بعضی از کامپایل ها یا اتصال ها در زمان اجرا رخ دهد. یک سبک سنگینی بین زمان اجرا و زمان اتصال وجود دارد، از آن جهت که خیلی از عملیات زمان کامپایل می تواند تا زمان اتصال به تعویق بیافتد، بدون وارد آمدن زمان اجرای اضافی[1].
- «زمان کامپایل» همچنین می تواند به میزان زمانی که برای کامپایل نیاز است اشاره کند[1].
جستارهای وابسته
منابع
- "Compile time". Wikipedia. 2020-02-16.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.