PDA

View Full Version : inline در توابع و پروسیجرهای delphi2007



حمیدرضاصادقیان
پنج شنبه 12 مهر 1386, 22:18 عصر
سلام دوستان.میخواستم یک توضیحی در مورد این دستور بدید.در help من خوندم که اگر جلوی توابع یا پروسیجرها این دستور رو تایپ کنیم باعث میشه سرعت کار اونا افزایش پیدا کنه ولی باعث میشه حجم برنامه افزایش پیدا کنه.اگه میشه توضیح کاملتری مرحمت فرمائید .ممنون میشم.

vcldeveloper
جمعه 13 مهر 1386, 11:45 صبح
تابع inline در واقع کدی هست که هرجا ازش استفاده بشه، همانجا توسط کامپایلر کپی میشه. یعنی شما اگر یک تابع 10 خطی بنویسید و ازش 5 بار در جاهای مختلف استفاده کنید، در کد شما این تابع 5 بار تکرار میشه (روی هم میشه 50 خط). به همین علت هم موجب افزایش حجم فایل EXE میشه. در هنگام استفاده از توابع Inline باید دقت کنید که تابعی که نوشتید کم حجم باشه، یکسری محدودیت هایی هم داره، مثلا امکان تعریف متغیر محلی را نداره و محدویت های دیگه که باید در Help دلفی بهشون اشاره شده باشه. نکته مهم اینه که باید از این توابع با احتیاط استفاده کرد، فکر نکنید اگر هر کدی را تبدیل به Inline بکنید، سرعت برنامه افزایش پیدا میکنه. استفاده نادرست از Inline حتی می تونه منجر به کاهش کارایی برنامه هم بشه.