امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
فايل هاي lib. چي هستن؟
نویسنده پیام
sh_teta آفلاین
كاربر دو ستاره
**

ارسال‌ها: 113
موضوع‌ها: 38
تاریخ عضویت: اردیبهشت ۱۳۸۵

تشکرها : 0
( 3 تشکر در 1 ارسال )
ارسال: #1
فايل هاي lib. چي هستن؟
فايل هاي lib. چي هستن؟
به چه درد مي خورن؟
چجوري ازشون استفاده كنيم؟
۲۳-خرداد-۱۳۸۶, ۱۷:۰۸:۲۱
ارسال‌ها
پاسخ
avini آفلاین
کاربر با تجربه
****

ارسال‌ها: 528
موضوع‌ها: 26
تاریخ عضویت: دى ۱۳۸۵

تشکرها : 0
( 72 تشکر در 38 ارسال )
ارسال: #2
RE: فايل هاي lib. چي هستن؟
Lib=Library
یعنی کتابخونه (این طور که من فکر میکنم)
اما روش استفاده رو نمیدونم

Golsun Tech
Inno3D,Force3D,Connect3D,InnoDV,DFI,Razer,Mushkin
021-66460000
Seller:Khashayar,Iman,Hossein
09194998532
Address:Tehran-Vali Asr.St -Iran Computer Center-Unit B46
۲۳-خرداد-۱۳۸۶, ۱۸:۰۷:۱۷
ارسال‌ها
پاسخ
PouriaAmid آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 272
موضوع‌ها: 15
تاریخ عضویت: شهریور ۱۳۸۳

تشکرها : 34
( 311 تشکر در 133 ارسال )
ارسال: #3
RE: فايل هاي lib. چي هستن؟
اصولاً 2 راه برای لينک کردن يک DLL وجود داره. وجه مشترک هر دو روش هم اینه که زمان اجرا به برنامه لينک ميشن و نه زمان کامپايل کردن برنامه.
توی روش اول شما فايل DLL رو مستقيم وارد کد ميکنی يعنی اینکه به برنامه ميفهمونی که فايل رو وقت اجرا Load کنه روش دوم هم استفاده از همون فايل lib هستش.
اگه مناسب با فايل DLL فايل lib هم دشته باشی ميتونی خيلی راحت
فايل lib رو مثل يک static library به برنامه لينک کنی. برتری این روش به اینه که سيستم عامل خودش دنبال DLL ميگرده و نيازی نيست که حتماً جا و مکان Load رو به برنامه بدی. اگه از روش اول استفاده کنی بايد اول به برنامه بگی که فايل DLL رو زمان شروع برنامه باز کنه بعد هم دستوراتی رو که ميخوای اجرا کنی و بعد دوباره فايل DLL رو از RAM خارج کنی. ولی با استفاده از فايل lib ديگه نيازی به این کار نيست
موفق باشی Wink

Root is not accessible
۲۳-خرداد-۱۳۸۶, ۲۰:۴۹:۰۶
وب سایت ارسال‌ها
پاسخ
sh_teta آفلاین
كاربر دو ستاره
**

ارسال‌ها: 113
موضوع‌ها: 38
تاریخ عضویت: اردیبهشت ۱۳۸۵

تشکرها : 0
( 3 تشکر در 1 ارسال )
ارسال: #4
RE: فايل هاي lib. چي هستن؟
خوب همينطوري تو حالت پيش فرض اين lib ها به برنامه ي c++ لينكن ولي نميشه ازشون استفاده كرد و بايد هدري هم در كار باشه
۲۳-خرداد-۱۳۸۶, ۲۲:۰۹:۴۵
ارسال‌ها
پاسخ
Mamad2003 آفلاین
کاربر با تجربه
****

ارسال‌ها: 1,150
موضوع‌ها: 18
تاریخ عضویت: آذر ۱۳۸۲

تشکرها : 9
( 388 تشکر در 232 ارسال )
ارسال: #5
RE: فايل هاي lib. چي هستن؟
دوستان سلام

lib پسوند فایل هایی کتابخونه هست . در کل دو نوع از این فایل ها وجود داره :
یکی رو همه شماها خوب میشناسید که همون DLL یا Dynamic Link Library هست (اجرای برنامه به این فایلها وابسته هست یعنی برنامه برای اجرا نیاز به این فایلها داره )
نوع دوم Static Library هست (اجرای برنامه به این فایلها وابسته نیست یعنی برنامه برای اجرا نیاز به این فایلها نداره )

Dynamic Link Library و توابع اون در زمان اجرا داخل حافظه قرار میگیرن و در پایان برنامه از حافظه خارج میشن . بطور کل DLL ها دو حالت استفاده داره :

1- استاتیک یعنی فایل با پسوند lib در زمان کامپایل به برنامه لینک میشه ( توسط لینکر ) توجه کنید که در این حالت و در زمان اجرای برنامه ، ویندوز خودش اتوماتیک به دنبال فایل اصلی DLL با پسوند dll توی دایکرکتوری برنامه یا سیستم میگرده چون ویندوز فقط فایل های DLL با پسوند dll رو میتونه اتوماتیک لود کنه !!!
2- داینامیک یعنی برنامه نویس خودش فایل DLL رو در زمان اجرای برنامه لود میکنه ، از توابع توش استفاده میکنه و بعد از حافظه خارجش میکنه . حالت دوم خوبیش اینه که پسوند فایل DLL میتونه هر چی باشه چون وظیفه لود کردنش با شماست نه ویندوز !!
برای همینه که کامپایلری مثل ++VC برای پروژه های DLL سه تا فایل اصلی یکی فایل با پسوند lib یکی با پسوند dll و یک هدر فایل ایجاد میکنه و دست شما رو برای حالت های بالا باز میزاره !

اما Static Library یه چیز کاملا جداست ..... این نوع فایل فقط شباهت پسوند با فایل DLL داره اما نحوه کارش متفاوته . توابع توی این مدل فایل قبلا نوشته و کامپایل شدن . برنامه نویس میتونه توابع داخل این فایل رو توی برنامه اش صدا بزنه اما زمان کامپایل اون کد خط نوشته شده توسط برنامه نویس با کد اصلی تابع کامپایل شده توی فایل جانشین میشن (دقیقا مشابه ماکرو ها یا توابع inline توی ++C ) و در زمان اجرا برنامه هیچ وابستگی به فایل lib نخواهد داشت !

گويند بهشت و حور و کوثر باشد  ..  جوي می و شير و شهد و شکر باشد
پر کن قدح باده و بر دستم نه      ..   نقدي ز هزار نسيه خوشتر باشد  
۲۳-خرداد-۱۳۸۶, ۲۳:۴۰:۰۵
ارسال‌ها
پاسخ
PouriaAmid آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 272
موضوع‌ها: 15
تاریخ عضویت: شهریور ۱۳۸۳

تشکرها : 34
( 311 تشکر در 133 ارسال )
ارسال: #6
RE: فايل هاي lib. چي هستن؟
مرسی ممد جان
من يه کم فارسيم (و البته اطلاعات از قبل نداشته) نم کشيده
ممنون که کامل کردی

Root is not accessible
۲۴-خرداد-۱۳۸۶, ۰۱:۰۶:۲۳
وب سایت ارسال‌ها
پاسخ


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  [سوال] فايل هاي فريمور saleh_likely 0 1,784 ۰۸-بهمن-۱۳۹۲, ۱۴:۲۷:۰۵
آخرین ارسال: saleh_likely
  درخواست فايل حل تمرين كتاب نيپوليتان نازي جون 0 1,851 ۰۸-آذر-۱۳۸۹, ۱۸:۱۳:۱۴
آخرین ارسال: نازي جون
  لطفا کامپایل کنین این سورس ها رو به زبان سی هستن rezayavari 5 4,302 ۲۰-مرداد-۱۳۸۷, ۱۹:۱۹:۴۲
آخرین ارسال: Mamad2003

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 4 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS