MBEDLABLEARNING Telegram 39
#قانون 1.2 MISRA C - از افزونه‌های زبان C استفاده نکنیم!

○ گروه: #محیط_استاندارد_C
○ دسته‌بندی: #توصیه_شده
○ اعمال برای: C90, C99, C11

یکی از نکات مهم در برنامه‌نویسی به زبان C، پرهیز از استفاده از افزونه‌های (Extensions) خاص کامپایلرهاست. چرا؟

برنامه‌ای که به این افزونه‌ها وابسته باشد، ممکن است به راحتی روی کامپایلرهای مختلف یا سیستم‌عامل‌های گوناگون اجرا نشود (مشکل Portable بودن). استاندارد زبان C از کامپایلرها می‌خواهد که افزونه‌های خود را مستند کنند، اما این مستندات همیشه کامل نیستند و ممکن است رفتار افزونه در شرایط خاص را به طور دقیق شرح ندهند.

راه حل:
○ تا حد امکان از افزونه‌ها استفاده نکنید.
○ اگر مجبور به استفاده از افزونه‌ای هستید، دلیل آن را در مستندات پروژه خود ذکر کنید.
○ نحوه اطمینان از استفاده صحیح افزونه (مثلاً بررسی کامپایلر و پیام‌های خطا) را نیز مستند کنید.


نکته مهم: در سیستم‌های #Embedded (نهفته)، استفاده از افزونه‌ها گاهی ضروری است. اما دقت کنید که افزونه نباید رفتار برنامه‌های استاندارد C را تغییر دهد. برای مثال، اگر کامپایلری، ارزیابی کامل عملگرهای منطقی (مثل && و ||) را به عنوان یک افزونه پیاده‌سازی کند (در حالی که استاندارد C می‌گوید ارزیابی به محض مشخص شدن نتیجه متوقف شود)، این افزونه با استاندارد سازگار نیست، زیرا ممکن است باعث بروز اثر جانبی (Side Effect) های ناخواسته شود.

#برنامه_نویسی ‏#استاندارد_MISRA
#Embedded

📍امبدلب به فارسی:
@mBedLabLearning

📍mBedLab in English:
@mBedLabLearningEN

📍mBedLab Türkçe'de
@mBedLabLearningTR



tgoop.com/mBedLabLearning/39
Create:
Last Update:

#قانون 1.2 MISRA C - از افزونه‌های زبان C استفاده نکنیم!

○ گروه: #محیط_استاندارد_C
○ دسته‌بندی: #توصیه_شده
○ اعمال برای: C90, C99, C11

یکی از نکات مهم در برنامه‌نویسی به زبان C، پرهیز از استفاده از افزونه‌های (Extensions) خاص کامپایلرهاست. چرا؟

برنامه‌ای که به این افزونه‌ها وابسته باشد، ممکن است به راحتی روی کامپایلرهای مختلف یا سیستم‌عامل‌های گوناگون اجرا نشود (مشکل Portable بودن). استاندارد زبان C از کامپایلرها می‌خواهد که افزونه‌های خود را مستند کنند، اما این مستندات همیشه کامل نیستند و ممکن است رفتار افزونه در شرایط خاص را به طور دقیق شرح ندهند.

راه حل:
○ تا حد امکان از افزونه‌ها استفاده نکنید.
○ اگر مجبور به استفاده از افزونه‌ای هستید، دلیل آن را در مستندات پروژه خود ذکر کنید.
○ نحوه اطمینان از استفاده صحیح افزونه (مثلاً بررسی کامپایلر و پیام‌های خطا) را نیز مستند کنید.


نکته مهم: در سیستم‌های #Embedded (نهفته)، استفاده از افزونه‌ها گاهی ضروری است. اما دقت کنید که افزونه نباید رفتار برنامه‌های استاندارد C را تغییر دهد. برای مثال، اگر کامپایلری، ارزیابی کامل عملگرهای منطقی (مثل && و ||) را به عنوان یک افزونه پیاده‌سازی کند (در حالی که استاندارد C می‌گوید ارزیابی به محض مشخص شدن نتیجه متوقف شود)، این افزونه با استاندارد سازگار نیست، زیرا ممکن است باعث بروز اثر جانبی (Side Effect) های ناخواسته شود.

#برنامه_نویسی ‏#استاندارد_MISRA
#Embedded

📍امبدلب به فارسی:
@mBedLabLearning

📍mBedLab in English:
@mBedLabLearningEN

📍mBedLab Türkçe'de
@mBedLabLearningTR

BY mBedLab Learning


Share with your friend now:
tgoop.com/mBedLabLearning/39

View MORE
Open in Telegram


Telegram News

Date: |

Telegram channels enable users to broadcast messages to multiple users simultaneously. Like on social media, users need to subscribe to your channel to get access to your content published by one or more administrators. The initiatives announced by Perekopsky include monitoring the content in groups. According to the executive, posts identified as lacking context or as containing false information will be flagged as a potential source of disinformation. The content is then forwarded to Telegram's fact-checking channels for analysis and subsequent publication of verified information. In the next window, choose the type of your channel. If you want your channel to be public, you need to develop a link for it. In the screenshot below, it’s ”/catmarketing.” If your selected link is unavailable, you’ll need to suggest another option. Telegram channels fall into two types: Ng was convicted in April for conspiracy to incite a riot, public nuisance, arson, criminal damage, manufacturing of explosives, administering poison and wounding with intent to do grievous bodily harm between October 2019 and June 2020.
from us


Telegram mBedLab Learning
FROM American