PDA

View Full Version : سوال: آیا راهی برای افزایش سرعت کامپایلر در محیط QtCreator وجود دارد؟



BORHAN TEC
سه شنبه 02 اسفند 1390, 19:35 عصر
سلام
آیا راهی برای افزایش سرعت کامپایلر در محیط QtCreator وجود دارد؟
با تشکر...

مصطفی ساتکی
چهارشنبه 03 اسفند 1390, 19:56 عصر
منظور ازافزایش سرعت چیه؟

BORHAN TEC
چهارشنبه 03 اسفند 1390, 23:20 عصر
فکر می کنم که سوالم خیلی واضح باشه.:چشمک:

منظور ازافزایش سرعت چیه؟ یعنی تنظیم گزینه ای و یا ... که باعث افزایش سرعت عملیات کامپایل بشه. مثلاً من یک برنامه به زبان C++‎‎ دارم که از QT استفاده می کنه و موقعی که می خواهم آنرا کامپایل کنم حدوداً یک دقیقه و نیم این عملیات طول میکشه!:افسرده:

حامد مصافی
چهارشنبه 03 اسفند 1390, 23:47 عصر
نه دوست عزیزم. اگر راهی بود همه استفاده می‌کردند. ما هم مثل شما از منتظر ماندن بیزاریم!

نکته: اگر به جایی رسیدید که از زمان سپری شده برای کامپایل شکایت دارید نشان دهنده این است که شما به کررات از گزینه کامپایل استفاده می‌کنید. این طرز برنامه‌نویسی چندان صحیح نیست که امکانی اضافه کنیم و بعد اجرا کنیم تا ببینیم خطایی داره یا نه و اگر مشکلی نبود گزینه دیگری اضافه کنیم. برنامه‌نویسان C++ معمولا زمان بیشتری برای کد نویسی پیوسته اختصاص می‌دهند و کامپایل به ندرت انجام میپذیرد در پروژه‌های بزرگ کامپایل به زمانبدی شده و شبانه انجام می‌پذیرد.

مصطفی ساتکی
پنج شنبه 04 اسفند 1390, 00:18 صبح
جناب مصافی فرمایششون صحیحه. ما حتی در ubuntu رو engine کار می کنیم تو یک editor معمولی کدمونو می نویسم و در نهایت کامپایل می کنیم .
در ضمن شما می تونید از فایل.o یا .lib استفاده کنید که دیگه نیاز به کامپایل همه کد نداشته باشید این نکته رو به این خاطر عرض میکنم که افراد پروژه های open source خیلی بزرگ رو کامپایل می کنند بعد بجای dependency بیان از static library استفاده کنن میان کل پروژه هارو به یکباره با هم کامپایل می کنند زمان کامپایل به طور وحشتناکی بالا میره.

سروش ربیعی
پنج شنبه 03 فروردین 1391, 15:20 عصر
اگه منظورت از سرعت، سرعت کامپایل برنامه باشه، نه نیست. تنها می‌تونی کامپایلرت رو عوض کنی.

اما اگر بخوای سرعت برنامهٔ نهایی‌ت بالا بره می‌تونی از بهینه‌سازی‌های کامپایلرها استفاده کنی. برای بهینه‌سازی سه سطح مختلف وجود داره. O1 ، O2 و O3 . که O3 بیشتر از همه بهینه می‌کنه و البته زمان کامپایل رو به شکل نمایی بالا می‌بره.

سرعت کامپایل چیزی نیست که بخوای ازش شکایت داشته باشی! احتمال میدم درست کامپایل نمی‌کنی. وقتی یک فایلی رو تغییرش میدی و دوباره کامپایل می‌کنی تنها باینری مربوط به اون فایل دوباره کامپایل میشه و بقیه دست‌نخورده می‌مونن. در واقع از کامپایل‌های قبلی استفاده می‌شه. برای هر فایل cpp یک فایل آبجکت درست میشه که پسوندش تو لینوکس .o هست و توی ویندوز فکر می‌کنم .obj باشه. بعدش این فایل‌ها به هم دیگه لینک داده میشن. دفعهٔ بعد که یه فایل رو تغییر دادی فقط آبجکت همون فایل دوباره ساخته میشه و با بقیهٔ آبجکت‌های قبلی لینک میشه. بنابراین سرعت‌ت نباید پایین باشه. فقط دفهٔ اول کمی طول می‌کشه.

موقع کامپایل هیچوقت Rebuild رو نزن. چون بدون توجه به تغییرات همه‌چیز رو دوباره کامپایل می‌کنه.