?>
بیمانا نیوز      سازندگی و توسعه      هفت ستاره      روز 100      تیترفا      سینما برتر      ماه 360      -      -      قیمت روز      طلایاب      بلوک سبک      -      قرص تاخیری      آموزش تعمیرات موبایل      *      +      -      *      -      +      دانلود سریال آواتار 2024      استخر پیش ساخته      تراست ولت      ردیاب موتور      *      صرافی تتر      بروکر فارکس      +      خرید کتاب تاپ ناچ      +      *      تحلیل اتریوم      -      فیلم هندی      *      -      -      .      +      -      +      -      /      حواله وسترن یونیون      کربنات کلسیم      خرید ماینر      -      دکتر زنان مشهد      خرید لایسنس نود 32      کسب درآمد      خرید رپورتاژ      فروش آنتی ویروس      سیگنال فارکس      لایسنس رایگان نود 32      یوزر پسورد نود 32      سئو سایت      لایسنس نود32      آپدیت نود 32      بهترین بک لینک     
C ++  برنامه نويسي پايتون براي نوجوانان برنامه نويسي پايتون براي نوجوانان .

برنامه نويسي پايتون براي نوجوانان

C ++

در اين خط ، ما يك عمليات بيتي يا OR را روي مقادير در آدرس 0x40008001 و مقدار 0x08 (00001000 در باينري ، يعني 1 در بيت شماره 4) انجام مي دهيم ، و نتيجه را دوباره به آدرس 0x40008001 ذخيره مي كنيم. به عبارت ديگر: بيت 4 بايت را كه در آدرس 0x40008001 است تنظيم مي كنيم. ما همچنين اعلام مي كنيم كه مقدار موجود در آدرس 0x40008001 فرار است. اين به كامپايلر مي گويد كه اين مقدار ممكن است توسط فرايندهاي خارج از كد ما اصلاح شود ، بنابراين كامپايلر پس از نوشتن در آن ، هيچ فرضي درباره مقدار آن آدرس نمي دهد. (در اين حالت ، اين بيت توسط سخت افزار UART درست بعد از تنظيم آن توسط نرم افزار برطرف نمي شود.) اين اطلاعات براي بهينه ساز كامپايلر مهم است. اگر اين كار را مثلاً درون حلقه for انجام دهيم ، بدون اينكه مشخص كنيم مقدار بي ثبات است ، ممكن است كامپايلر فرض كند اين مقدار پس از تنظيم هرگز تغيير نمي كند و پس از حلقه اول ، از اجراي دستور صرف نظر مي كند.

 

استفاده قطعي از منابع

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

C زمان بسيار كمي دارد. و رد پاي حافظه براي كد آن نسبت به بيشتر زبانهاي ديگر كوچكتر است.

 

به عنوان مثال ، وقتي با C ++ مقايسه مي شود ، باينري توليد شده C كه به يك دستگاه جاسازي شده مي رود تقريباً نيمي از باينري توليد شده توسط كد مشابه C ++ است. يكي از دلايل اصلي آن حمايت از استثناها است.

 

موارد استثنايي ابزاري عالي است كه توسط C ++ نسبت به C اضافه مي شود و اگر فعال و هوشمندانه اجرا نشود ، عملاً هيچ سربار زمان اجرا ندارد (اما با هزينه افزايش اندازه كد).

اگر استثنا از ايست هاي بازرسي 1 و 9 پرتاب شود ، هيچ جسمي نياز به تخريب ندارد. براي ايست بازرسي 3 ، b و a بايد تخريب شود. براي ايست بازرسي 6 ، c و a بايد تخريب شود. در همه موارد بايد به دستور تخريب احترام گذاشته شود. براي ايست هاي بازرسي 2 ، 4 ، 5 ، 7 و 8 ، فقط بايد يك مورد را تخريب كنيد.

 

اين عملكرد كمكي اندازه كد را اضافه مي كند. اين بخشي از فضاي سربار است كه C ++ به C اضافه مي كند. بسياري از برنامه هاي جاسازي شده توانايي تهيه اين فضاي اضافي را ندارند. بنابراين ، كامپايلرهاي C ++ براي سيستم هاي جاسازي شده اغلب داراي يك پرچم براي غيرفعال كردن استثناها هستند. غيرفعال كردن استثناها در C ++ رايگان نيست ، زيرا كتابخانه استاندارد الگو به شدت به موارد استثنا براي اطلاع خطاها متكي است. استفاده از اين طرح اصلاح شده ، بدون استثنا ، نياز به آموزش بيشتر براي توسعه دهندگان C ++ براي كشف مشكلات احتمالي يا يافتن اشكالات است.

 


برچسب: ،
امتیاز:
 
بازدید:
+ نوشته شده: ۷ ارديبهشت ۱۴۰۱ساعت: ۰۶:۴۶:۰۹ توسط:ميهن ميرايي موضوع:

ارسال نظر
نام :
ایمیل :
سایت :
آواتار :
پیام :
خصوصی :
کد امنیتی :