چند سال پیش در پست زیر به یکی از مواردی اشاره شد که می تواند منجر به ایجاد باگ در برنامه نویسی به زبان C شود:
T.me/KnowledgePlus/1141
اخیرا در جریان کدنویسی یک کنترلر صنعتی به زبان C و کامپایلر IAR که قرار بود محاسبات ریاضی متعددی در آن انجام شود، در عمل مشاهده شد که خروجی کنترلر گاهی عملکرد صحیحی ندارد و این در حالی بود که در ظاهر اشکالی در برنامه وجود نداشت. بعد از بررسی های متعدد و زمانبر مشخص شد که ریشه مشکل در نقطه ای از برنامه است که عملیات ریاضی بین متغیرهای علامت دار و بدون علامت انجام شده که این قضیه در حالت های خاص نتایج غلطی را در محاسبات ایجاد می کرد. در نهایت با اضافه کردن type casting به متغیر های بدون علامت، مشکل بر طرف گردید.
@KnowledgePlus
Post #1583
11.1K