جداول هاش سريعة ومصفوفات ديناميكية في لغة C

2025-01-22

تشرح هذه المقالة كيفية تنفيذ مكافئات سريعة في لغة C لهياكل البيانات `std::unordered_map` و `std::vector` في لغة C++. من خلال إنشاء مُخصص ذاكرة مخصص، وسلاسل مُعدّة، ودالة هاش فعّالة، يقدم الكاتب تنفيذات لجداول هاش مسطّحة وهرمية، بالإضافة إلى مصفوفة ديناميكية. كما تتناول المقالة دمج السلاسل، ومعالجة متغيرات البيئة، وتحسين أمان جداول الهاش، باستخدام Address Space Layout Randomization (ASLR) لتحسين مقاومة التصادمات.

اقرأ المزيد
التطوير جداول الهاش

قواعد لتجنب الأخطاء الشائعة في تجميع السطور المضمنة الموسع

2024-12-21

ليست هذه المقالة تعليميًا لتجميع السطور المضمنة، بل ملخصًا لست قواعد لتجنب الأخطاء الشائعة. يؤكد الكاتب على أن تجميع السطور المضمنة أمرٌ خادعٌ ويجب تجنبه كلما أمكن، حيث توفر المُترجمات الحديثة وظائف مُضمنة لتحل محل معظم حالات الاستخدام. إذا كان لا مفر منه، فإن القواعد هي: استخدام المُؤهل `volatile`؛ استخدام `memory` clobber إذا تم الوصول إلى الذاكرة؛ عدم تعديل قيود الإدخال أبدًا؛ عدم استدعاء الدوال من تجميع السطور المضمنة أبدًا؛ عدم تعريف تسميات التجميع المُطلقة؛ واستخدام ميزة التسميات المحلية للمُجمِّع لتجنب تعارضات التسميات. يختتم المقال بتشجيع القُرّاء على ممارسة تطبيق هذه القواعد من خلال مراجعة البرامج التعليمية عبر الإنترنت وحتى الكود المُولّد بواسطة LLM.

اقرأ المزيد