View Full Version : سوال: حجم زياد برنامههاي كوچك
meisam.jafarian
دوشنبه 11 آبان 1388, 20:56 عصر
با سلام
تا آنجا كه بنده ميدانم حداقل حجم فايل exe يك برنامه بسيار كوچك (مثلا يك application از نوع ديالوگ بدون هيچ كد برنامه نويس(يك دگمه ok و يك دگمه Cancel)) در VC++6 به دليل وجود آن دو DLL معروف جهت اجرا در كامپيوتر هاي ديگر حداقل دو مگا بايت است .
نكته قابل توجه اينجاست كه من يك برنامه حسابداري با كلي امكانات دارم(Account Express) كه حجم كل فايلهاي Setup آن با هم 1 مگا است .سوال بنده اينجاست كه چگونه ميتوان با VC++6 برنامه اي با حجم معقول ايجاد كرد؟
عذر ميخواهم دو بار اين تاپيك گذاشته شد من توانايي پاك كردن يكي از آنها را ندارم لطفا يكي از آنها را پاك كنيد
Nima_NF
دوشنبه 11 آبان 1388, 22:42 عصر
َشما می توانید برنامه را با کتابخانه ها به شکل static کامپایل کنید. به این صورت دیگر نیازی به dll ها نیست و کدهای مورد نیاز در فایل اجرایی کپی می شوند.
تاپیک مورد بحث (FAQ شماره 4 در همین بخش) (http://barnamenevis.org/forum/showthread.php?p=766106)
meisam.jafarian
سه شنبه 12 آبان 1388, 21:45 عصر
اصلا موضوع مورد بحث بنده static يا ديناميك بودن نبود .
بحث در مورد حداقل حجمي است كه با MFC ميتوان پروژه اي ايجاد كرد.كه ظاهرا 2 مگا بايت است (به دليل DLL ها)(در ضمن درصورت استاتيك بودن پروژه هم خجم همان 2 مگا بايت خواهد بود).
نرم افزارهاي تحت ويندوزي هستند كه حجم آنها زير 1 مگا بايت است و اينكه آيا اين نرم افزار ها را با برنامه اي غير از VC نوشته اند كه حجم آنها اين مقدار كم است و اينكه آيا اين ضعفي در C است و يا اينكه ميتوان با C هم برنامه هاي كم حجم نوشت؟
اگر ميتوان از چه راهي؟
در ضمن بابت تاپيك تكراري عذر ميخواهم و ممنون از اينكه آنرا DEL كرديد
DLL_DLL
سه شنبه 12 آبان 1388, 21:58 عصر
شاید شما برنامتون را در حالت Debug کامپایل می کنید. اگر اینطور است باید آن را در حالت Release کامپایل کنید.
Nima_NF
چهارشنبه 13 آبان 1388, 01:30 صبح
اصلا موضوع مورد بحث بنده static يا ديناميك بودن نبود .
بحث در مورد حداقل حجمي است كه با MFC ميتوان پروژه اي ايجاد كرد.كه ظاهرا 2 مگا بايت است (به دليل DLL ها)(در ضمن درصورت استاتيك بودن پروژه هم خجم همان 2 مگا بايت خواهد بود).
این پاسخ را به حساب این می گذارم که اصلا مطالب را مطالعه نکردید و حتی تست هم نکردید!
وقتی شما برنامه را به شکل Use MFC in a Shared DLL کامپایل می کنید، دیگری نیازی به dll ها نخواهید داشت و فقط آن قسمتی از کدهای dll ها در فایل exe کپی می شود که از آن ها استفاده کرده باشید نه کل آن. (حتما هم در مد release باشد)
پس برنامه معمول شما حجمی زیر 200kb خواهد داشت و به dll ای هم نیاز نخواهید داشت. نکات منفی این کار را هم در همان تاپیک ها توضیح دادم. پس مطالعه و تست کنید.
موفق باشید
meisam.jafarian
چهارشنبه 13 آبان 1388, 15:25 عصر
بسيار ممنون .
مشكل اينجا بود كه در مد release كار نميكردم.
البته متوجه اين نكته در تاپيك هاي قبلي كه اشاره كرديد نشدم شايد هم در آنجا بوده و من بي توجهي كردم.به هر حال مشكل حل شد و حجم حداقل برنامه 192 كيلو بايت شد.
آقاي Nima_NF بسيار از شما سپاسگذارم.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.