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, रिसोर्स-सीमित सिस्टम्स और माइक्रोकंट्रोलर्स के लिए डिज़ाइन किए गए Protocol Buffers का एक हल्का C इम्प्लीमेंटेशन है। यह संरचित डेटा को एनकोड और डिकोड करने के लिए एक एम्बेडेड सीरियलाइजेशन लाइब्रेरी और एक कोड जेनरेटर दोनों के रूप में कार्य करता है जो परिभाषा फाइल्स को कॉम्पैक्ट C सोर्स और हेडर फाइल्स में बदल देता है। यह प्रोजेक्ट स्टैटिक मेमोरी एलोकेशन पर अपने फोकस के लिए प्रतिष्ठित है, जो डायनामिक मेमोरी एलोकेशन और हीप फ्रैगमेंटेशन से बचने के लिए स्ट्रिंग्स और एरेज़ के लिए फिक्स्ड अधिकतम साइज़ का उपयोग करता है। यह उपलब्ध फिजिकल RAM से अधिक संदेशों या फील्ड्स को प्रोसेस करने के लिए एक कॉलबैक-आधारित स्ट्रीमिंग तंत्र का उपयोग करता है, जिससे सिस्टम मेमोरी को समाप्त किए बिना वेरिएबल-लेंथ डेटा को संभालना संभव हो जाता है। यह लाइब्रेरी बाइनरी सीरियलाइजेशन के लिए व्यापक क्षमताएं प्रदान करती है, जिसमें एनकोडेड साइज़ गणना, सबमेसेज प्रेजेंस ट्रैकिंग और ट्रांसपोर्ट-लेवल फ्रेमिंग शामिल है। इसमें फील्ड इटरेशन, UTF-8 स्ट्रिंग वैलिडेशन और अविश्वसनीय बाइनरी इनपुट को पार्स करते समय मेमोरी सुरक्षा सुनिश्चित करने के लिए सख्त बाउंड्स प्रवर्तन के लिए रिफ्लेक्शन यूटिलिटीज भी शामिल हैं।
Controls the memory footprint of arrays and enums by specifying integer sizes and bit-widths during generation.