tgoop.com/mBedLabLearning/49
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، ممنوع میکند.
راه حل چیست؟
به عبارت دیگر، قبل از استفاده از هر ویژگی جدید، به دقت مستندات آن را بررسی کنید و از پیامدهای احتمالی آن آگاه باشید.
قوانین مرتبط:
○ قانون 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