PDA

View Full Version : سوال: کمبود حافظه هنگام اجرای برنامه دارای آرایه در c



unique1984
دوشنبه 09 فروردین 1389, 10:41 صبح
با سلام
من در یک برنامه با 3 تا آرایه دو بعدی با طول حدود 37000 کار میکنم. اما موقع اجرا حافظه کم میاره و برنامه اجرا نمی شه.ظاهرا با این مقدار رم ، نمی تونه کار کنه .
با چه روشی این مشکل حل میشه؟

Salar Ashgi
دوشنبه 09 فروردین 1389, 10:58 صبح
خوب سایز آرایه تون خیلی بالاست ، اگه امکانش هست کدهاتون رو کمی بهینه کنید .

البته تو چنین حالتی ، تو یه سیستمی با رم بالا هم برنامه با یک مکث کوتاه اجرا خواهد شد .

برای بررسی دقیقتر کد خود را قرار دهید .

unique1984
دوشنبه 09 فروردین 1389, 11:54 صبح
ممنون از جوابتون.
برنامه رو نمی شه و نباید تغییر داد. آیا با استفاده از بافرها مشکل حل میشه؟ اگه بله ، چطور باید استفاده کرد؟

a.gh.n
دوشنبه 09 فروردین 1389, 12:29 عصر
از حافظه ی داینامیک می تونید استفاده کنید.
static رو هم اگر برای برنامتون ممکنه امتحان کنید. موقع کمپایل می تونه حافظه ی بیشتری نسبت به stack بگیره.

حامد مصافی
دوشنبه 09 فروردین 1389, 12:50 عصر
تقريباً بعيد مي دونم نياز باشه اين مقدار از حافظه اشغال بشه، آرايه را به يك فايل دامپ كرده و اعمال خود را روي فايل انجام دهيد، سرعت پايين تر اما مطرف رم بهينه تر!

tdkhakpur
سه شنبه 10 فروردین 1389, 00:14 صبح
37000 حافظه چندان زیادی نیست شما مدل حافظه تان را به medium یا huge تغییر بدید.
ولی از نظر کلی برای استفاده از حافظه به حالت مفید از ساختار ها هم استفاده کنید یعنی تکه های کوچکی را داخل یک ساختار به اندازه دلخواه تعریف کنید.