Negarsoft’s

آگوست 13, 2008

مدیریت حافظه

Filed under: طراحی و پیاده سازی — negarsoft @ 11:22 ق.ظ.

مدیریت حافظه

اغلب این زبان ها این توانایی را دارند که حافظه لازم را برای اشیائ داده به صورت پویا تخصیص دهند و در صورت عدم نیاز آنها را آزاد کنند. حافظه این اشیا از هرم می آید.در بسیاری از پیاده سازی ها، پشته از یک طرف حافظه کامپیوتر و هرم از طرف دیگر حافظه شروع می شود.اگر پشته و هرم به هم برسند برنامه با کمبود حافظه مواجهه می شود و متوقف می گردد.

عناصری که به حافظه نیاز دارند:

  1. سگمنت کد برنامه ترجمه شده کاربر: در هر سیستم یک بلوک از حافظه برای ذخیره سگمنت کد اختصاص می یابد.
  2. برنامه های زمان اجرای سیستم:در زمان اجرا بلوک دیگری از حافظه به برنامه های سیستم که اجرای برنامه های کاربردی را پشتیبانی می کنند اختصاص می یابد.مانند روالهای کتابخانه ای مثل Sin و Cos یا مترجم های نرم افزاری حین اجرا.
  3. ثوابت و ساختمان داده های تعریف شده توسط کاربر: فضای لازم برای داده های کاربر باید تخصیص یابد.
  4. نقاط برگشت زیر برنامه ها: اطلاعات کنترلی که به طور داخلی تولید شده اند، مثل نقاط برگشت، نقاط از سر گیری روال ها و… .
  5. محیط های ارجاع.
  6. حافظه های موقت در ارزیابی اطلاعات:در ارزیابی عبارات نیاز به حافظه های موقتی است که نتایج میانی را ذخیره کند.
  7. حافظه های موقت برای انتقال پارامتر ها: وقتی زیر برنامه ای فراخوانی می شود، تعدادی پارامتر ارزیابی می شوند و مقادیر حاصل باید در حافظه موقت ذخیره شوند تا زمانی که تمام پارامتر ها به طور کامل ارزیابی شوند.
  8. بافرهای ورودی – خروجی: عملیات ورودی – خروجی از طریق بافر ها انجام می شوند.
  9. داده های خراب سیستم: در هر سیستم حافظه ای برای نگهداری داده های مختلف سیستم وجود دارد.جدول ها، اطلاعات وضعیت و هر نوع اطلاعات زاید دیگر.

(more…)

آگوست 10, 2008

آشنایی با زبان c++

Filed under: طراحی و پیاده سازی — negarsoft @ 7:47 ق.ظ.

آشنایی با زبان C++:

C++ از C گرفته شده است و خود C نیز  از دو زبان برنامه نویسی BCPL و B مشتق شده است.C++ که تعمیمی از زبان C است در اوایل دهه 1980 توسط بی یارنه استراس تروپ دانمارکی در آزمایشگاههای بل طراحی شد. C++ حاوی ویژگی های متعددی است که باعث زیبایی بیشتر زبان C شده است اما مهم تر از این ها ، افزون قابلیت های برنامه نویسی شی گرا به زبان c است.c++ زبانی دورگه (پیوندی) است. برنامه ای که با این زبان نوشته می شود به صورت زبان C یا به صورت شی گرا یا به هر دو صورت امکان پذیر است.

برنامه های  c++  از قطعاتی به نام کلاس ها ( یا رده ها ) و توابع تشکیل می شوند. اکثر برنامه نویسان c++ از مزایای مجموعه غنی ای از کلاس ها و توابع موجود در کتابخانه استاندارد c++ استفاده می کنند.

سیستم های c++  معمولا از چند قسمت تشکیل می شوند که عبارتند از محیط طراحی و تولید برنامه ، زبان و کتاب خانه استاندارد c++ .

یک نمونه از محیط برنامه نویسی c++  در زیر توضیح داده شده است:

(more…)

ساخت یک وب‌گاه یا وب‌نوشت رایگان در WordPress.com.