MBEDLABLEARNING Telegram 49
#قانون 1.4 MISRA C - از ویژگی‌های جدید زبان C11 با احتیاط استفاده کنید!

○ گروه: #محیط_استاندارد_C
○ دسته‌بندی: #الزامی
○ اعمال برای: C11

در توسعه نرم‌افزارهای حساس به ایمنی و امنیت، رعایت استانداردها و پرهیز از رفتارهای غیرقابل پیش‌بینی بسیار حیاتی است. Rule 1.4 در استاندارد MISRA C به همین موضوع می‌پردازد و استفاده از ویژگی‌های "نوظهور" زبان را محدود می‌کند.

چرا این قانون مهم است؟
استفاده از این ویژگی‌ها می‌تواند منجر به رفتارهای undefined (تعریف‌نشده)، unspecified (نامشخص) یا implementation-defined (وابسته به پیاده‌سازی) شود. این یعنی کد شما ممکن است در کامپایلرها یا سیستم‌عامل‌های مختلف، رفتارهای متفاوتی داشته باشد و این امر می‌تواند خطرات جدی به همراه داشته باشد. حتی اگر رفتاری کاملاً تعریف‌شده باشد، ممکن است با انتظارات توسعه‌دهنده همخوانی نداشته باشد و منجر به باگ شود.

به طور خاص، این قانون استفاده از ویژگی‌های Annex K (رابط‌های بررسی مرزها) را به جز تعریف __STDC_WANT_LIB_EXT1__ به 0، ممنوع می‌کند.

راه حل چیست؟
اگر مجبور به استفاده از یک ویژگی نوظهور هستید، حتماً باید یک "انحراف" (deviation) ثبت کنید و رفتارهای نامطلوب احتمالی را شناسایی و اقدامات لازم برای جلوگیری از تأثیر آنها بر ایمنی و امنیت سیستم را مشخص کنید.

به عبارت دیگر، قبل از استفاده از هر ویژگی جدید، به دقت مستندات آن را بررسی کنید و از پیامدهای احتمالی آن آگاه باشید.


قوانین مرتبط:
قانون 1.3

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

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

📍mBedLab in English:
@mBedLabLearningEN

📍mBedLab Türkçe'de
@mBedLabLearningTR



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

#قانون 1.4 MISRA C - از ویژگی‌های جدید زبان C11 با احتیاط استفاده کنید!

○ گروه: #محیط_استاندارد_C
○ دسته‌بندی: #الزامی
○ اعمال برای: C11

در توسعه نرم‌افزارهای حساس به ایمنی و امنیت، رعایت استانداردها و پرهیز از رفتارهای غیرقابل پیش‌بینی بسیار حیاتی است. Rule 1.4 در استاندارد MISRA C به همین موضوع می‌پردازد و استفاده از ویژگی‌های "نوظهور" زبان را محدود می‌کند.

چرا این قانون مهم است؟
استفاده از این ویژگی‌ها می‌تواند منجر به رفتارهای undefined (تعریف‌نشده)، unspecified (نامشخص) یا implementation-defined (وابسته به پیاده‌سازی) شود. این یعنی کد شما ممکن است در کامپایلرها یا سیستم‌عامل‌های مختلف، رفتارهای متفاوتی داشته باشد و این امر می‌تواند خطرات جدی به همراه داشته باشد. حتی اگر رفتاری کاملاً تعریف‌شده باشد، ممکن است با انتظارات توسعه‌دهنده همخوانی نداشته باشد و منجر به باگ شود.

به طور خاص، این قانون استفاده از ویژگی‌های Annex K (رابط‌های بررسی مرزها) را به جز تعریف __STDC_WANT_LIB_EXT1__ به 0، ممنوع می‌کند.

راه حل چیست؟
اگر مجبور به استفاده از یک ویژگی نوظهور هستید، حتماً باید یک "انحراف" (deviation) ثبت کنید و رفتارهای نامطلوب احتمالی را شناسایی و اقدامات لازم برای جلوگیری از تأثیر آنها بر ایمنی و امنیت سیستم را مشخص کنید.

به عبارت دیگر، قبل از استفاده از هر ویژگی جدید، به دقت مستندات آن را بررسی کنید و از پیامدهای احتمالی آن آگاه باشید.


قوانین مرتبط:
قانون 1.3

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

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

📍mBedLab in English:
@mBedLabLearningEN

📍mBedLab Türkçe'de
@mBedLabLearningTR

BY mBedLab Learning




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

View MORE
Open in Telegram


Telegram News

Date: |

Public channels are public to the internet, regardless of whether or not they are subscribed. A public channel is displayed in search results and has a short address (link). How to create a business channel on Telegram? (Tutorial) During a meeting with the president of the Supreme Electoral Court (TSE) on June 6, Telegram's Vice President Ilya Perekopsky announced the initiatives. According to the executive, Brazil is the first country in the world where Telegram is introducing the features, which could be expanded to other countries facing threats to democracy through the dissemination of false content. With Bitcoin down 30% in the past week, some crypto traders have taken to Telegram to “voice” their feelings. ZDNET RECOMMENDS
from us


Telegram mBedLab Learning
FROM American