فایل dll چیست و چه کاربردی در کامپیوتر دارد؟
در این پست به انواع تعاربف dll چیست و نحوه عملکرد آن به زبان ساده و پیشرفته پرداخته شده است.
انواع تعاریف فایل dll
1- dll مخفف Dynamic link library به معنای لینکهای پویا کتابخانهای است. این فایلها که در کتابخانه ویندوز شما هستند برای عمل کرد بهتر برنامهها قرار داده شده است. معمولا با نصب نرم افزارها و یا بازیها بر روی کامپیوتر و یا به صورت پیش فرض، بر روی سیستم قرار میگیرند. در این پست بیشتر سعی شده است به dll چیست بپردازیم.
چرا کتابخانه؟
در جواب این سوال که dll چیست باید بگوییم که یک کتابخانه بسیار بزرگ را در نظر بگیرید، اگر کمی دقت کنیم مشاهده میکنیم که این کتابخانه قسمتهای مختلفی دارد و هرکدام دارای تعداد زیادی قفسه و در هر قفسه کتابهای مربوط به آن بخش وجود دارد. این کتابها خود دارای تنوع و زبانهای مختلفی هستند که وظیفه ارائه مطلب خاصی را بر عهده دارند. فایلهای dll دقیقا مثل این کتابها، هرکدام وظیفه خاصی دارند که در کتابخانه کامپیوتر شما در قفسههای طبقه بندی شده منتظر فراخوانده شدن هستند.
2- فایلهای dll را میتوان به شکل دیگر هم توصیف کرد، فایلهای dll نوعی پرونده هستند و شامل دستورالعملهایی میشود که سایر برنامهها میتوانند برای انجام کارهای خاص از آنها درخواست کنند. به این ترتیب، تعداد زیادی از برنامهها میتوانند تواناییهای (Ability) برنامه ریزی شده را که در قالب یک پرونده واحد قرار دارند به اشتراک بگذارند، و حتی این کار را همزمان انجام دهند.
اینم بخونید بد نیست: روشهای حل ارور has stopped working
3- اگر بخواهیم کمی تخصصیتر توضیح بدهیم باید گفت dll برای سیستم عاملهای مایکروسافت ویندوز میباشد که در قسمت Applies to تعریف شده است. با توجه به اینکه بخش اعظمی از عملکرد سیستم عامل توسط کتابخانههای لینک پویا dll ارائه میشود، هنگامی که شما برنامهای را در یکی از این سیستم عاملهای ویندوز اجرا میکنید، طیف وسیعی از عملکرد این برنامه ممکن است توسط dll منتشر شود. به طور مثال، برخی از برنامه ها ممکن است حاوی ماژولهای مختلف زیادی باشند و هر ماژولِ برنامه در dllها درج و توزیع شده باشد. امیدوارم متوجه شده باشید که پایه فایلهای dll چیست.
انواع کتابخانه
تقریباً در تمام سیستم عاملها، 2 نوع کتابخانه وجود دارد. کتابخانههای ایستا و کتابخانههای پویا. در ویندوز برنامههای افزودنیِ پرونده به شرح زیر است: کتابخانههای اِستاتیک (lib.) و کتابخانههای پویا (dll.). تفاوت اصلی این است که کتابخانههای ایستا در زمان کامپایل (گردآوری) با دستگاه های اجرایی مرتبط هستند. در حالی که کتابخانه های مرتبط با پویا تا زمان اجرا ممکن است هیچ ارتباطی با dllها برقرار نکنند.
نحوه عملکرد dll
برای اجرای هر برنامه در کامپیوتر همیشه نیازمند پیش زمینههایی است تا بتوان بازی یا برنامههای خود را اجرا کرد. دفترچه تلفنی را در یک خانه در نظر بگیرید که منبع وسیعی از شماره تلفنها میباشد. در همین حال شما میخواهید با یکی از دوستان و آشنایانتان ارتباط برقرار کنید، اگر شماره تلفن شخص مورد نظر را نداشته باشید، باید زمان زیادی را صرف کنید تا بتوانید به آن شماره تلفن دسترسی پیدا کنید. اگر در ابتدا یکبار برای همیشه این شماره را یادداشت و در دفترچه تلفن ذخیره کنید نه تنها شما بلکه دیگر اعضای خانواده هم میتوانند از آن به صورت همزمان استفاده کنند. فایلهای dll دقیقا مانند همان شماره تلفنها هستند که تعداد زیادی از کاربران به صورت مشترک و بدون نیاز به بازنویسی و یا نوشتن دوباره میتوانند از آن استفاده کنند.
این فایلها همانند شماره تلفنها هرکدام وظیفه برقراری ارتباط با یک یا چند نفر را دارند و دارای کارکرد مشخصی هستند. حال همین مثال را میخواهیم در زبان برنامه نویسی به صورت ساده بیان کنیم. به عنوان مثال یک فایل dll میتواند برنامهای را با دستگاه پرینتر یا اسکنر شما هماهنگ کند و باعث برقراری ارتباط بین این دو شود.
اینم بخونید بد نیست: آموزش حل ارور Physx یا Physx error در ویندوز 7، 8 و 10
یک مثال دیگر درباره dll
چندین برنامه مختلف ممکن است برای یافتن فضای خالی در هارد دیسک و یا پیدا کردن یک پرونده در یک فهرست خاص با فایل veryusukur.dll ارتباط برقرار کنند. اگر فایلهای dll نباشند که این دستورات و کدها را جواب بدهند ( در اصطلاح برنامه نویسی فایلها dll صدا زده میشوند ) هیچ واکنشی در کامپیوتر مشاهده نمیکنید و یا با ارورهای گوناگونی مواجه میشوید.
بر خلاف برنامههای اجرایی، مانند برنامههای با پسوند exe، پرونده های dll مستقیماً قابل اجرا نیستند بلکه در عوض باید توسط کدی دیگر که در حال اجرا است فراخوانی شود. با این حال، dllها فُرمی مانند exe دارند و در برخی مواقع ممکن است از پسوند فایل exe استفاده کنند، در حالی که اکثر کتابخانههای Dynamic Link به پسوند پرونده dll ختم میشوند.
dll چه کمکی به ما میکند؟
استفاده از dll به ارتقاء مدولار کد، استفاده مجدد از کد، استفاده کارآمد از حافظه و کاهش فضای دیسک کامپیوتر کمک میکند. بنابراین، سیستم عامل و برنامهها سریعتر بارگیری و اجرا میشوند، همچنین فضای دیسک کمتری از رایانه را اِشغال میکند. اگر متوجه نشدهاید این توضیح را حتما بخوانید: پروندههای dll مفید هستند، زیرا میتوانند به یک برنامه اجازه بدهند اجزای مختلف آن را در ماژولهای منحصر به فرد جدا کنند که بعداً میتوان آنها را اضافه یا حذف کرد تا ویژگیهای خاصی را شامل شوند. هنگامی که نرم افزار به این روش با dll کار میکند میتواند از حافظه کمتری استفاده کند چرا که دیگر نیازی نیست همه چیز را به طور همزمان بارگیری کنید.
ماژول چیست؟
ماژول یک بخش قابل نصب و استفاده به صورت مجدد است که برای نمایش محتوا یا انجام یک عملیات خاص استفاده میشود.
همچنین، dll راهی برای بروزرسانی قسمتهایی از برنامه بدون نیاز به بازسازی یا نصب مجدد کل برنامه فراهم میکند. این مزیت وقتی برنامه از dll استفاده میکند تقویت میشود زیرا همه برنامهها میتوانند از این به روزرسانی استفاده کنند.
اینم بخونید بد نیست: مشکل اجرا نشدن بازی
dll در هر زمان قابل تغییر است و فقط در زمان اجرا بارگذاری میشود که در همین حین فایلهای exe به سادگی میتوانند dll را بارگیری کنند. هنگامی که در exe بارگذاری شود، به یک کتابخانه ثابت غیرقابل تغییر تبدیل میشود و dll را میتوان به طور جداگانه و بدون بروزرسانی در exe، ارتقاع داد.
در یک نگاه:
Resource dll فایلهای دادهای هستند که با فرمت فایلهای مشابه dll هستند اما از پسوندهای پرونده ICL ، FON و FOT استفاده میکنند. پروندههای ICL كتابخانههای آیكون هستند در حالی كه پروندههای FONT و FOT پروندههای فونت هستند.
dll شامل چه چیزهایی میشود؟
dll شامل توابع، کلاسها، متغیرها، رابط کاربری و منابع ( نمادها، تصاویر، پرونده ها و غیره ) است که فایلهای exe یا سایر dllها از آنها استفاده میکند.
لیست زیر برخی از پروندههایی را که به عنوان dll در سیستم عاملهای Windows پیاده سازی شدهاند را شرح میدهد:
- پروندههای ( ActiveX Control (.ocx را کنترل میکند:
ActiveX یک کنترل تقویم است که به شما امکان می دهد یک تاریخ را از یک تقویم انتخاب کنید.
- فایل های کنترل پنل ( cpl. )
نمونه ای از پرونده .cpl موردی است که در Control Panel قرار دارد.
- پرونده های درایور دستگاه ( drv. )
نمونه ای از درایور دستگاه چاپگر است که فرایند چاپ را بر روی چاپگر کنترل میکند.
مزیتهای dll
لیست زیر برخی مزایا استفاده از برنامه dll را شرح می دهد:
- از منابع کمتری استفاده میکند
هنگامی که چندین برنامه از همان کتابخانه توابع استفاده میکنند، یک dll میتواند تکثیر کدی را که در دیسک بارگذاری شده و در حافظه فیزیکی حجم اشغال کرده است را کاهش دهد. این میتواند تا حد زیادی بر عملکرد نه تنها برنامهای که در پیش زمینه اجرا میشود، بلکه برنامههای دیگری که در سیستم عامل ویندوز در حال اجرا هستند نیز تأثیر بگذارد.
- معماری مدولار را ارتقا میبخشد
dll به پیشرفت برنامههای مدولار کمک شایانی میکند. به طور مثال برای تهیه برنامههای بزرگی که به چندین نسخه زبان یا به معماری مدولار نیاز دارد کمک میکند. برای مثال نرمافزارهای حسابداری یک برنامه مدولار است که دارای ماژولهای زیادی میباشد و میتوانند در زمان اجرا به صورت پویا بارگیری شوند.
- نصب را آسان میکند
هنگامی که یک عملکرد در یک dll به بروزرسانی یا رفع مشکل نیاز دارد، نصب dll، دیگر به اتصال مجدد این برنامه با dll احتیاج ندارد. علاوه بر این، اگر چندین برنامه از همان dll استفاده کنند، همان برنامهها از بروزرسانی یا رفع مزیتها بهرهمند میشوند. این مسئله ممکن است بیشتر هنگام استفاده از dll دوم که مرتباً به روز یا رفع مشکل میشود رخ دهد.
اینم بخونید بد نیست: 17 روش حل مشکل اجرا نشدن استیم
کلام آخر
امیدارم توانسته باشیم در این پست شما را تا حدودی با dll آشنا کرده باشیم. انتظار میرود وقتی کسی از شما میپرسد که dll چیست به سادهترین روش توضیحات کامل را بدهید. به یاد داشته باشید که درباره فایلهای dll تعاریف زیادی میشود، اما در این مقاله ما قصد داشتیم تا به سادهترین و کاملترین زبان ممکن آن را برای شما بیان کنیم.
سلام مشکل isdone.dll رو دارم هر فکری به زهنتون بیاد انجام دادم ولی نشد که نشددددد
سلام وقت بخیر.
ببینید آموزش حل مشکل isdone بهتون کمکی میکنه: https://tictactec.ir/fix-isdonedll-error/