برای جواب دادن به این سوالات باید قبلش , مفهوم DLL رو برسی کنیم
دی ال ال (DLL) چیست؟
یه نوع فرمت کتاب خوانه ای است که شامل توابع، کدها و دادههایی است که میتوانند به صورت همزمان توسط چندین برنامه مورد استفاده قرار بگیرد.
DLL مخفف عبارت Dynamic-Link Library است.
فرمت (Extension) فایل DLL یک فرمت استاندارد برای ویندوز مایکروسافت است. فایلهای lib و ocx و drv هم تقریباً مشابه DLL هستند. یک فایل DLL شامل توابع، کدها، منابع (تصویر، آیکون و ...) و دادههایی است که به توسعه دهندگان و برنامه نویسان این امکان را فراهم میکند با آنها لینک نموده و از توابعشان در برنامههای خود استفاده کنند. یکی از خواص مهم فایلهای کتابخانهای DLL این است که در یک زمان چندین برنامه میتوانند از آنها استفاده کنند درحالی که کدهایش در یک مکان ثابت قرار داشته و نیازی به گرفتن فضای بیشتر برای هر برنامه نیست.
تا اینجا متوجه شدیم فرمت های lib و ocx و drv و DLL همه کتابخانه های ویندوزی هستن
پس فرمتی به نام DLL در لینوکس وجود ندارد
اگه چیزی به اسم DLL در لینوکس وجود نداره پس کتابخانه های لینوکسی چی هستن؟
در لینوکس فایلهایی با پسوند SO دقیقاً همین کار را انجام میدهند, SO آن هم مخفف shared object است.
مسیر فایل هایی با فرمت SO. معمولا کجا قرار دارد؟
/lib/ or /usr/lib/ $ cd /usr/lib $ ls -ltrs *.so
اطلاعات بیشتر در باره فایل SO
اگر در انتهای فرمت SO اعداد وجود داشت به معنای شماره نسخه است
به مثال زیر توجه دقت کن:
libdaemon.SO.14 libchromeXvMC.SO.0 libgnome-bluetooth.SO.4.0.1
عدد در انتها اجازه می دهد تا چندین نسخه از یک فایل وجود داشته باشد بدون اینکه باعث ایجاد مشکل در نام های همپوشانی شود.