PDA

View Full Version : چه توع متغیری باعث کم کردن حجم برنامه میشه ؟



aloneinc
سه شنبه 03 مهر 1386, 13:49 عصر
با یاد او
طاعات و عبادات قبول عزیزان

دو مبحث داریم تو ++C که مربوط به حافظه متغیرهامون هست .
من این 2 مبحث رو سعی میکنم مختصر توضیح میدم ...
سوال بنده اینه که از کدوم روش میشه برای کم کردن حجم برنامه استفاده کرد ؟
این 2 بحث :

1)
کلاس حافظه ثبات :
همین طور که میدانید ,ثبات ها حافظه هایی در داخل پردازنده هستند.کامپیوتر برای انجام محاسبات بر روی متغیرها آنها رو از حافظه RAM به ثبات ها ارسال میکند و پس از انجام محاسبات به حافظه ی RAM بر می گرداند .اگر کامپایار بتواند متفیرهایی را در ثبات نگه دارد سرعت انجام محاسبات به آن متغبرها افزایش می یابد ... خوب این خاصیت register تعریف کردن متغیرها .

2)
متغیرهای پویا :
چون اشاره گر میتواند آدرس محلی از حافظه را نگهداری کند از طریق آدرس آن محل میتواند محتویات آن محل را دستکاری کند.بنابراین لزومی ندارد آدرس محلی که در اشاره گر قرار میگیرد دارای نام باشد برای این منظور باید آدرس محلی از حافظه در اشارهگر قرار گیرد.امتیاز این روش این است که پس از این که کار با آن محل حافظه به اتمام رسید می توان آن حافظه رو آزاد کرد و به سیستم تحویل داد.

خوب کدوم روش بهم تو کم کردن حچم برنامه به نظر شما کمک میکنه ؟
متغیرا رو پویا کنم یا register ?

Inprise
سه شنبه 03 مهر 1386, 16:38 عصر
اگر منظورت از حجم برنامه همان اندازه فایل باینری ات است :
تفاوت خاصی وجود نداره . با اینکه کدهای تولید شده توسط کامپایلر برای مدیریت انواعی که مثال زدی فرق میکنن اما این تفاوت اونقدر کوچک و بی ارزش است که اصلا جای صحبت کردن نداره

اگر منظورت اندازهء برنامه در حال اجرا روی حافظه است :
این جواب به عوامل متعددی بستگی داره و صرفا با توجه به نوع متغیر نمیشه بهش جواب داد .

Anti_Evil
سه شنبه 03 مهر 1386, 22:57 عصر
متغیرا رو پویا کنم یا register ?

register رو فراموش کن ...

aloneinc
چهارشنبه 04 مهر 1386, 09:43 صبح
با یاد او

نمیدونم بنده گفتم بگید چی جای بحث داره ؟ با چی رو فراموش کنم با نکنم ... ؟
عجب .

اگر ممکن هست توضیحات تخصصی تر باشه ..
مثلا اینکه برای کم کردن حجم برنامه دقیقا چه روشایی موجود هست ؟
و همین طور هنگام اجرا ... به چه عواملی بستگی داره ..

در ضمن بنده میدونم از register نباید حدالامکان استفاده کرد .. میخوام بدونم چقدر تاثیر داره تواجرا .. و به حجم هم که بستگی نداره فک کنم .
همین طور پویا کردن ...

اینجا فروم تخصصی هست پس افراد انتظار جواب تخصصی دارن ...

Inprise
چهارشنبه 04 مهر 1386, 17:20 عصر
پس افراد انتظار جواب تخصصی دارن ...

جوابت داده شده . اگر نتونستی بخونی کمک بیشتری نمیتونیم بهت بکنیم .