انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید


توزیع گنو/لینوکس اوبونتو ۲۰ ساله شد 🎉

نویسنده موضوع: معادل dll در لینوکس چیست ؟  (دفعات بازدید: 3303 بار)

0 کاربر و 3 مهمان درحال مشاهده موضوع.

آفلاین khajavi

  • Sr. Member
  • *
  • ارسال: 361
  • جنسیت : پسر
    • کافه ی گنو/لینوکس
معادل dll در لینوکس چیست ؟
« : 15 اردیبهشت 1387، 02:50 ب‌ظ »
توی ویندوز هر برنامه دارای یک سری dll هست. معادل این dll ها توی لینوکس چی هست. (تا حالا توی ویندوز برنامه ننوشتم.)
در ضمن یه سوال دیگه دارم. فرض کنیم. یه برنامه نوشتم برای لینوکس و حالا میخوام توی ویندوز هم کامپایل کنم. این وسط اگه بخوام توی ویندوز از dll ها استفاده کنم مسلما برنامه ی من portable نمیشه و باید برای ویندوز سورسم را تغییر بدم. آیا درست می گم؟
« آخرین ویرایش: 15 اردیبهشت 1387، 03:07 ب‌ظ توسط khajavi »

آفلاین شایان

  • Sr. Member
  • *
  • ارسال: 284
  • جنسیت : پسر
پاسخ به: معادل dll در لینوکس چیست ؟
« پاسخ #1 : 15 اردیبهشت 1387، 03:50 ب‌ظ »
توی  لینوکس فایل‌هایی با پسوند so. دقیقاً همین کار را انجام می‌دهند و آن هم مخفف shared object است.
در هر صورت با نوشتن هر برنامه‌ای از همچین فایل‌هایی استفاده می‌کنید( چون به هر حال از header  هایی استفاده خواهید کرد.)
ولی در بعضی از برنامه‌های ویندوز  این فایل‌ها کلی نیستند و فقط در یک برنامه‌ی
خاص کاربرد دارند معادل این dll  ها در لینوکس همان object file  ها هستند که با پسوند o. مشخص می‌شوند. و می‌توانید با استفاده از gcc -c  برنامه‌ی c  خود را
تبدیل به یک object file کنید و در برنامه‌ی دیگری از آن استفاده کنید.
« آخرین ویرایش: 15 اردیبهشت 1387، 03:55 ب‌ظ توسط Shayanppp »
Your object is to save the world, while still leading a pleasant life
http://nillux.blogspot.com

آفلاین علیرضا طالقانی

  • High Hero Member
  • *
  • ارسال: 2373
  • جنسیت : پسر
  • القدس لنا، والنصر لنا!
    • Take it easy
پاسخ به: معادل dll در لینوکس چیست ؟
« پاسخ #2 : 15 اردیبهشت 1387، 04:24 ب‌ظ »
filename.a :: این کتابخانه ها static اند و در هنگام کامپایل ب داخل برنامه ی شما کشیده می شوند.
filename.so :: این کتابخانه ها Dynamic اند و فقط درگاه شون در کد شما وارد میشه! لذا حجم کمتری رو ب برنامه ی شما می افزاید! ولی لازمه ک بسته ی منبع اش هم حتما در هنگام اجرای برنامه ی شما روی سیستم نصب باشه!
یعنی ی نوعی وابستگی دارند ب منبع اصلی!   ولی با به روز شدن بسته اصلی شما دیگه نیازی ب کامپایل مجدد ندارید.
.ShayneIsTheOneWhoIsAlwaysAlone
terminal@world-server:~$ sudo aptitude remove --purge Israel