القسمة الآمنة في لغة C باستخدام Maybe
تتناول هذه المقالة تنفيذ حاويات عامة آمنة من حيث النوع والحدود في لغة C. يقدم الكاتب نوعًا يُدعى Maybe مستوحى من Haskell، للتعامل مع الدوال التي قد تُرجع قيمة غير موجودة (مثل القسمة على صفر). تم إنشاء دالة قسمة آمنة باستخدام وحدات ماكرو لتحديد Maybe، مع معالجة القسمة على صفر وحالة الحد من قسمة أصغر عدد صحيح قابل للتعبير عنه على -1. تم تحليل رمز التجميع الذي تم إنشاؤه بواسطة GCC للتحقق من أمان الدالة. ويختتم الكاتب بملاحظة حدود هذا النهج في إثبات الأمان الكامل لبرامج C.
اقرأ المزيد