تبلیغات :
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




نمايش نتايج 1 به 2 از 2

نام تاپيک: stack overflow

  1. #1
    در آغاز فعالیت
    تاريخ عضويت
    Dec 2012
    پست ها
    1

    پيش فرض stack overflow

    سلام دوستان
    من یه برنامه تو c++ برای معکوس کردن ماتریس به روش تکرار نوشتم که جواب میده ولی از حدودای ماتریس 85*85 به بالا پیغام stack overflow رو میده .اگه کسی بتونه کمکم کنه ممنون میشم.
    در ضمن برنامم رو بدون استفاده از کلاس نوشتم و حتما باید بدون کلاس باشه.چون میخوام تو c ببرمش(واسه کامپایل کردن تو یه نرم افزار که فقط c رو میشناسه )

  2. #2
    کـاربـر بـاسـابـقـه god of war 2's Avatar
    تاريخ عضويت
    Jun 2007
    پست ها
    585

    پيش فرض

    خطای سر ریز بافر (stack overflow) زمانی رخ میده که شما قصد استفاده از مقدار بیشتری از فضای استاندارد یک متغییر رو داشته باشید.
    راه حل های زیادی وجود دارد مثل تغییر الگوریتم کلی که باید الگوریتم رو طوری تغییر بدید که با توجه به فضای استاندارد متغییر ها عمل کند و نیاز به فضای بیشتر نداشته باشد. یا میتونید متغییر هایی رو که سرریز میشوند رو یافته سپس در نوع بزرگتری تعریفشون کنید.
    مثلا متغییری که از نوع short تعریف شده و سرریز شده میتونه به نوع بزرگتر یعنی long تعریف بشه.
    یا حتی ممکنه مثلا متغییری از نوع int با علامت تعریف شده باشه ولی در الگوریتم هیچوقت مقدار منفی برای آن وجود نداره پس این متغییر میتونه بصورت بهینه تر و از نوع unsigned int تعریف بشه و رنج مقادیر مثبت بیشتری رو شامل بشه.
    یا حتی میتونید از مقادیر بدون علامت به همراه یک فلگ استفاده کنید که هردو ویژگی رنج بیشتر مقادیر و علامت دار بودن رو داشته باشه
    و ....
    پیشنهاد میکنم ابتدا کدتونو تست کنید تا متوجه بشید دقیقا کدوم قسمت سرریز میشه بعد میتونید خیلی راحت تر اون قسمت رو فیکس کنید.
    Last edited by god of war 2; 19-12-2012 at 20:50.

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •