ورود

View Full Version : سوال: تفاوت C++ Builder با Delphi در مبحث کتابخانه ای



loo30fer
چهارشنبه 29 تیر 1390, 15:04 عصر
با سلام
فکر میکنم دوستانی که تابحال با C++ Builder کار کردن حتی برای یکبارم که شده با Delphi کار کردن و شاهد اضافه شدن چندین کیلوبایت حجم به فایل در استفاده از کتابخانه ها بودن مثلا ما یک Dll داریم که از هیچ کتابخانه ای استفاده نکردیم و حجم Dll ما 14 کیلوبایت هست ولی مثلا همین که کتابخانه Dialogs رو بهش اضافه کنیم حجم Dll ما از 14 کیلوبایت به 358 کیوبایت افزایش پیدا میکنه تازه تو Delphi 7 که کمپایلرش بهینه تر عمل میکنه نسبت به حجم وگرنه اگه با Delphi XE کمپایل کنیم افزایش بیشتری رو داره.
حالا میخواستم بدونم آیا تو C++ Builder هم مانند Delphi با اضافه کردن یک کتابخانه حجمش اینطور اضافه پیدا میکنه ؟ من تست کردم چندین کتابخانه های مختلف رو اضافه کردم ولی تغییری تو افزایش حجم ندیدم.
اگه امکان داره در کنار جواب دادن به سوال من اول یک مقایسه ای بین C++ Builder و Delphi از لحاظ کتابخانه بکنید و سپس معایب و مزایا C++ Builder نسبت به Delphi بگین و شما تو این مدتی که با هردو کار کردین از کدوم راضی تر بودین و چرا البته بدون تعصب بیان کنید. (ممنونم تو این بحث شرکت کنید.) با تشکر

Felony
چهارشنبه 29 تیر 1390, 15:24 عصر
http://stackoverflow.com/questions/180358/delphi-versus-c-builder-which-is-better-choice-for-a-java-programmer-doing-wi
http://www.tek-tips.com/viewthread.cfm?qid=599744&page=227

BORHAN TEC
جمعه 31 تیر 1390, 12:08 عصر
C++ Builder و Delphi دارای کتابخانه مشترکی به نام VCL هستند. بیشتر این کتابخانه با دلفی نوشته شده اما قسمتهایی از آن نیز با C++ Builder نوشته شده است به عنوان مثال کتابخانه Midas موجود در VCL.

حالا میخواستم بدونم آیا تو C++ Builder هم مانند Delphi با اضافه کردن یک کتابخانه حجمش اینطور اضافه پیدا میکنه ؟ من تست کردم چندین کتابخانه های مختلف رو اضافه کردم ولی تغییری تو افزایش حجم ندیدم.

بله حجمش افزایش پیدا می کنه ولی اگر شما اینطور فکر می کنید که در C++ Builder افزایش حجم نداریم، احتمالاً به این دلیل است که گزینه Build with runtime packages در C++ Builder فعال است و در دلفی فعال نیست(در حالت پیش فرض هم همینطور است).

اگه امکان داره در کنار جواب دادن به سوال من اول یک مقایسه ای بین C++ Builder و Delphi از لحاظ کتابخانه بکنید و سپس معایب و مزایا C++ Builder نسبت به Delphi بگین و شما تو این مدتی که با هردو کار کردین از کدوم راضی تر بودین و چرا البته بدون تعصب بیان کنید. (ممنونم تو این بحث شرکت کنید.) با تشکر
این دو محصول رقیب یکدیگر نیستند و می توانم بگویم که جزو محصولات مکمل به وجود می آیند. اینکه C++ در بعضی از بحث ها مثل درایور نویسی و ... از دلفی قوی تر است شکی در آن نیست ولی همانطور که می دانید سرعت کد نویسی در c++ نسبت به دلفی کمتر است و این هم به دلیل پیچیده تر بودن ساختار زبان c++ است. در این گونه مواقع راه حلی هم وجود دارد و آن این است که می توان تا جایی که امکان دارد برنامه را به زبان دلفی نوشت و در قسمت هایی که به قدرت C++ نیاز است می توان آن قسمت را با C++ نوشت. این راه حل در بسیاری از برنامه های معروف مانند ضد ویریس KasperSky و ... به کار گرفته شده است. البته از آنجایی که Delphi نیز زبان بسیار قدرتمندی است احتمالاً در بیشتر موارد حتی نیاز به استفاده از C++ نخواهید داشت. البته این موضوع به تجربیات برنامه نویس هم بستگی زیادی دارد.

loo30fer
جمعه 31 تیر 1390, 14:28 عصر
بله حجمش افزایش پیدا می کنه ولی اگر شما اینطور فکر می کنید که در C++ Builder افزایش حجم نداریم، احتمالاً به این دلیل است که گزینه Build with runtime packages در C++ Builder فعال است و در دلفی فعال نیست(در حالت پیش فرض هم همینطور است).بله کاملا درست گفتین نکته ظریفی بود وقتی غیرفعالش کردم این هم حجم کمپایلش مانند دلفی شد.

این دو محصول رقیب یکدیگر نیستند و می توانم بگویم که جزو محصولات مکمل به وجود می آیند. اینکه C++ در بعضی از بحث ها مثل درایور نویسی و ... از دلفی قوی تر است شکی در آن نیست ولی همانطور که می دانید سرعت کد نویسی در c++ نسبت به دلفی کمتر است و این هم به دلیل پیچیده تر بودن ساختار زبان c++ است. در این گونه مواقع راه حلی هم وجود دارد و آن این است که می توان تا جایی که امکان دارد برنامه را به زبان دلفی نوشت و در قسمت هایی که به قدرت C++ نیاز است می توان آن قسمت را با C++ نوشت. این راه حل در بسیاری از برنامه های معروف مانند ضد ویریس KasperSky و ... به کار گرفته شده است. البته از آنجایی که Delphi نیز زبان بسیار قدرتمندی است احتمالاً در بیشتر موارد حتی نیاز به استفاده از C++ نخواهید داشت. البته این موضوع به تجربیات برنامه نویس هم بستگی زیادی دارد. بسیار ممنون از توضیحاتتون.