نمایش نتایج 1 تا 20 از 20

نام تاپیک: سوال در مورد مفاهیم حافظه text code,stack,heap, static/global

Threaded View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #1

    سوال در مورد مفاهیم حافظه text code,stack,heap, static/global

    سال نو مبارک ...
    سلام
    همون طور که می دونید به طور کلی حافظه به سه بخش تقسیم می شه
    بخش اول همون کد کامپایل شده برنامه (text (code) segment)
    بخش دوم حافظه متغیرهای اتوماتیک، توابع و یا دیتا (stack segment)
    بخش سوم حافظه داینامیک برنامه (heap segment)

    HeapAndStack.png

    ----------------------------------------------------------------------------------------
    اصلاح مطلب بالا : طبق این لینک و بحث هایی که در ادامه شد

    Program memory
    The computer program memory is organized into the following


    Data Segment :: Data + BSS + Heap

    Stack

    Code segment


    --------------------------------------------------------------------------------------------------------
    سوال اول و مهمترین سوال من) متغیرها، اشیاء و توابعی که به صورت ( global و به خصوص static) تعریف می شوند، فکر می کنم در بخش دوم یعنی stack ذخیره می شن، حالا می خوام بدونم این ذخیره سازی به چه نحوی صورت می گیره، یعنی یک متغیر سراسری (global یا یک متغیر static) پس از فراخوانی تابع اصلی برنامه (main) توسط سیستم و قرار گرفتن main در stack ، کجا و به چه نحوی ذخیره می شه؟(static stack storage)
    سوال دوم) حافظه ای که به صورت استاتیک(static) و یا سراسری(global) دریافت شده رو، اگر بخوایم در طول برنامه به سیستم برگردونیم باید چه طوری عمل کنیم؟اصلا امکانش هست؟
    سوال سوم) اختصاص و حذف حافظه داینامیک فقط و فقط توسط new , delete صورت خواهد پذیرفت؟بهتر بگم چگونه بدون استفاده از new میشه چیزی رو در heap قرار داد مانند تابع calcSize در تصویر بالا؟
    سوال چهارم) متغیرها، اشیاء و توابع ثابت (const) هم در بخش stack ذخیره می شوند؟ و آیا مشابه متغیرهای اتوماتیک با آن ها برخورد خواهد شد؟
    سوال پنجم) حتما اولین چیزی که در حافظه قرار می گیرد و آخرین چیزی که از حافظه حذف می شه تابع main است؟ (LIFO-Last In First Out) (یعنی حتی متغیر های سراسری هم بعد از main در حافظه قرار می گیرند و خارج می شوند) و اما در آخر فراخوانی و نگهداری دائم تابع main در برنامه توسط چه بخشی صورت می گیرد؟کامپایلر؟
    تشکر
    آخرین ویرایش به وسیله chikar : یک شنبه 02 فروردین 1394 در 20:54 عصر

تاپیک های مشابه

  1. مبتدی: سوال در مورد دسترسی خاصیت text سلول های جداول در stimulsoft reports از طریق کد C#‎
    نوشته شده توسط hmdhamed در بخش ابزارهای گزارش سازی
    پاسخ: 7
    آخرین پست: سه شنبه 08 فروردین 1391, 22:43 عصر
  2. سوال در مورد مقدار حافظه اشکالی ورودی از صفحه کلید
    نوشته شده توسط xman_dj در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 5
    آخرین پست: سه شنبه 06 اردیبهشت 1390, 12:41 عصر
  3. سوال در مورد محدود کردن Text box ...!
    نوشته شده توسط sam_fisher_440 در بخش برنامه نویسی در 6 VB
    پاسخ: 6
    آخرین پست: شنبه 23 مرداد 1389, 17:38 عصر
  4. سوال در مورد مفاهیم OOP
    نوشته شده توسط BestLover در بخش VB.NET
    پاسخ: 1
    آخرین پست: شنبه 21 دی 1387, 15:49 عصر
  5. سوال در مورد فیلد نوع Text
    نوشته شده توسط mehdi_moosavi در بخش SQL Server
    پاسخ: 1
    آخرین پست: چهارشنبه 01 تیر 1384, 19:59 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •