?>
رزرو هتل      +      فیلم هندی      اجاره خودرو      تعمیر ماشین ژاپنی      مبلمان      نوید      آیرنکس      +      امداد کرمان موتور      -      *      -      مشاور خانواده      قرص تاخیری      -      -      .      +      خرید ویپ      تعمیرات موبایل      -      -      +      -      /      حواله وسترن یونیون      کربنات کلسیم      *      فروش ویپ      خرید ماینر      -      +      دکتر زنان مشهد      .      خرید لایسنس نود 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 ++ براي كشف مشكلات احتمالي يا يافتن اشكالات است.

 


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

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