PDA

View Full Version : حجم بالای خروجی



alireza378
سه شنبه 18 شهریور 1393, 16:52 عصر
سلام

یک برنامه در ویندوز با Qt نوشتم ( یک فرم ساده و یک دکمه ) ، و با MVS 2012 کامپایل کردم ، در ویندوز

شنیده بودم این کامپایلر نتایج به مراتب بهتری از MinGW در ویندوز ارائه میده

اما متاسفانه تفاوتی ندیدم... ( حدود 300-400 مگابایت dll نیاز داره )

مشکل از کجاست؟

حامد مصافی
سه شنبه 18 شهریور 1393, 17:37 عصر
پروژه رو در حالت Release کامپایل کنید

AliRezaBeytari
سه شنبه 18 شهریور 1393, 17:40 عصر
پروژه رو در حالت Release کامپایل کنید

من رو حالت Release پروژه رو کامپایل میکنم ، اما در نهایت حجم فایل DLL حدود 35 مگابایت میشه.
حتی اگر از Header های بیشتر استفاده کنم ، حجمشون خیلی بیشتر میشه.
درضمن از کامپایلر MSVC2012 استفاده میکنم.

حامد مصافی
سه شنبه 18 شهریور 1393, 23:49 عصر
خب ۳۵ مگ خیلی بهتر از ۴۰۰-۳۰۰ مگ هست.
اما از این کمتر دیگه نمیشه

2020s1371
چهارشنبه 19 شهریور 1393, 11:42 صبح
سلام

یک برنامه در ویندوز با Qt نوشتم ( یک فرم ساده و یک دکمه ) ، و با MVS 2012 کامپایل کردم ، در ویندوز

شنیده بودم این کامپایلر نتایج به مراتب بهتری از MinGW در ویندوز ارائه میده

اما متاسفانه تفاوتی ندیدم... ( حدود 300-400 مگابایت dll نیاز داره )



چون تا حالا تو ویندوز کیوت رو کامپایل نکردم میپرسم: آیا بهتره با ویژوال کامپایل کنم تا اینکه با MinGW کامپایل کنم؟؟ اینقدر تفاوت حجم دارند؟؟! علت چیه؟؟

omid_kma
چهارشنبه 19 شهریور 1393, 11:57 صبح
چون تا حالا تو ویندوز کیوت رو کامپایل نکردم میپرسم: آیا بهتره با ویژوال کامپایل کنم تا اینکه با MinGW کامپایل کنم؟؟ اینقدر تفاوت حجم دارند؟؟! علت چیه؟؟
دوستان گفتن که بخاطر build کردن تو مد دیباگ بود
ضمنا با برنامه هایی مثل upx میشه حجم برنامه رو خیلی کمتر هم کرد (بیشتر از نصف)

احسان!
چهارشنبه 19 شهریور 1393, 12:15 عصر
سلام. کامپایلر تاثیر آنچنانی توی حجم نداره.

کامبیز اسدزاده
چهارشنبه 19 شهریور 1393, 12:22 عصر
من رو حالت Release پروژه رو کامپایل میکنم ، اما در نهایت حجم فایل DLL حدود 35 مگابایت میشه.
حتی اگر از Header های بیشتر استفاده کنم ، حجمشون خیلی بیشتر میشه.
درضمن از کامپایلر MSVC2012 استفاده میکنم.

سلام ،

خب ببینید شما دات نت و ... رو در نظر بگیرید فکر میکنید به صورت ساده و کم حجم هستند؟ وقتی پروژه ای ایجاد میکنیم تحت دات نت درسته حجم فایل exe میاد میشه مثلا چند صد کیلوباید ولی به پشت صحنه فکر کردین ؟ چون شما برای اجرای همون فایل چند کیلوبایتی نیازمند نصب پکیج دات نت چند صد مگابایتی رو هستید.

پس اگه کلی فکر کنید مساله خیلی ساده و قابل قبول هستش.

AliRezaBeytari
چهارشنبه 19 شهریور 1393, 14:17 عصر
سلام ،

خب ببینید شما دات نت و ... رو در نظر بگیرید فکر میکنید به صورت ساده و کم حجم هستند؟ وقتی پروژه ای ایجاد میکنیم تحت دات نت درسته حجم فایل exe میاد میشه مثلا چند صد کیلوباید ولی به پشت صحنه فکر کردین ؟ چون شما برای اجرای همون فایل چند کیلوبایتی نیازمند نصب پکیج دات نت چند صد مگابایتی رو هستید.

پس اگه کلی فکر کنید مساله خیلی ساده و قابل قبول هستش.


بله ، درسته که NET. حجم بالاتری داره ، اما حداقل اینه که رو بیشتر ویندوزها به صورت پیشفرض هست ؛ اما Qt خیر.
آخه مثلا یه نرم افزاری که خودش فقط 5 مگابایت میشه ، باید 35 مگابایت فقط DLLهاش باشه !!! :ناراحت:
راهی نیست که بشه حجم این فایل ها رو کمتر کرد ؟؟!!

کامبیز اسدزاده
چهارشنبه 19 شهریور 1393, 14:25 عصر
بله ، درسته که NET. حجم بالاتری داره ، اما حداقل اینه که رو بیشتر ویندوزها به صورت پیشفرض هست ؛ اما Qt خیر.
آخه مثلا یه نرم افزاری که خودش فقط 5 مگابایت میشه ، باید 35 مگابایت فقط DLLهاش باشه !!! :ناراحت:
راهی نیست که بشه حجم این فایل ها رو کمتر کرد ؟؟!!

خب...شما نگران چه چیزی هستید؟
ماشالله سرعت اینترنت الان طوری هست 100 مگ رو چند دقیقه طول نمیکشه دانلود کنید و بعدشم مگه قراره شما نرم افزاری بنویسید که روی کامپیوتر های 100 سال پیش اجرا بشه که فضای کافی برای نصب و اجرای نرم افزار نداشته باشند ؟ الآن کسی به این توجه نمیکنه ! مهم کارائی نرم افزار هست نه حجمش...

فکر میکنم شما بیش از اندازه حساسیت نشون میدین.

alireza378
چهارشنبه 19 شهریور 1393, 15:38 عصر
پروژه رو در حالت Release کامپایل کنید

چگونه این کارو انجام بدم؟؟

omid_kma
چهارشنبه 19 شهریور 1393, 18:42 عصر
بله ، درسته که NET. حجم بالاتری داره ، اما حداقل اینه که رو بیشتر ویندوزها به صورت پیشفرض هست ؛ اما Qt خیر.
آخه مثلا یه نرم افزاری که خودش فقط 5 مگابایت میشه ، باید 35 مگابایت فقط DLLهاش باشه !!! :ناراحت:
راهی نیست که بشه حجم این فایل ها رو کمتر کرد ؟؟!!
میتونین static بیلد کنید 6-7 مگ بیشتر نمیشه (البته لایسنس Qt رو لازم دارید یا باید پروژه opensource باشه (البته چون متاسفانه توی ایران کپی رایت وجود نداره لایسنس هم نداشته باشید مشکل خاصی پیش نمیاد !!! ) )

IamOverlord
چهارشنبه 19 شهریور 1393, 23:27 عصر
(
خوب اگه مایلید toolkit های دیگه رو هم می تونید امتحان کنید... wxWidgets (http://www.wxwidgets.org) ،FLTK (http://www.fltk.org)، ...
فکر کنم FLTK (http://www.fltk.org) خیلی سبک تر از بقیه هست...
)

alireza378
جمعه 21 شهریور 1393, 20:33 عصر
چگونه پروژه را در حالت Release کامپایل کنم ؟؟؟؟؟؟؟؟

negative60
جمعه 21 شهریور 1393, 21:27 عصر
http://oi60.tinypic.com/fbxp21.jpg