1 مستودع
Techniques for controlling the bit-width and integer size of structured data fields to minimize memory footprints.
Distinct from Memory Size Calculators: Closest candidates focus on memory pool management or size calculation, not the definition of field bit-widths and integer types during code generation.
Explore 1 awesome GitHub repository matching operating systems & systems programming · Binary Field Layout Optimizations. Refine with filters or upvote what's useful.
Nanopb هو تنفيذ C خفيف الوزن لـ Protocol Buffers مصمم للأنظمة محدودة الموارد والمتحكمات الدقيقة. يعمل كمكتبة تسلسل مضمنة لتشفير وفك تشفير البيانات المهيكلة ومولد كود يحول ملفات التعريف إلى ملفات مصدر ورأس C مدمجة. يتميز المشروع بتركيزه على تخصيص الذاكرة الثابت، باستخدام أحجام قصوى ثابتة للسلاسل والمصفوفات لتجنب تخصيص الذاكرة الديناميكي وتجزئة الكومة (Heap fragmentation). يستخدم آلية بث تعتمد على الاستدعاء (Callback) لمعالجة الرسائل أو الحقول التي تتجاوز ذاكرة الوصول العشوائي المتاحة، مما يسمح بالتعامل مع البيانات ذات الطول المتغير دون استنفاد ذاكرة النظام. توفر المكتبة قدرات واسعة للتسلسل الثنائي، بما في ذلك حساب الحجم المشفر، وتتبع وجود الرسائل الفرعية، والتأطير على مستوى النقل. كما تتضمن أدوات انعكاس لتكرار الحقول، والتحقق من صحة سلسلة UTF-8، وفرض الحدود الصارمة لضمان سلامة الذاكرة عند تحليل المدخلات الثنائية غير الموثوقة.
Controls the memory footprint of arrays and enums by specifying integer sizes and bit-widths during generation.