पृष्ठभूमि: कंपाइलर अपने सदस्यों को बेहतर संरेखित करने के लिए एक स्ट्रिंग में पैडिंग डाल सकता है। इसके परिणाम स्वरूप संरचना के आकार के सदस्यों के आकार की तुलना में बड़ा होगा। संरचना के सदस्यों को पुन: व्यवस्थित करना ताकि वे बेहतर तरीके से पैक कर सकें ताकि संकलक को इस तरीके से पैड की आवश्यकता को हटा दिया जा सके और संरचना को छोटी बचत स्मृति बना सके। मुझे उन स्मृति बचत को प्राप्त करने की ज़रूरत है।उन सभी structs को कैसे ढूंढें जिन्हें उनके सदस्यों के क्रम को बदलकर छोटा बनाया जा सकता है
फ़ॉलबैक विकल्प हाथ से प्रत्येक संरचना की जांच करना है। मैं एक स्वचालित दृष्टिकोण की तलाश में हूं जो प्रयास को कम कर सकता है।
भले ही यह केवल हाथों द्वारा जांच की जाने वाली structs की संख्या को कम कर देता है जो मदद करेगा।
तो उदाहरण के लिए एक प्रक्रिया/उपकरण/आदि जो सभी सदस्यों को सूचीबद्ध करता है जो उनके सदस्यों के आकार की तुलना में बड़े होते हैं, जबकि सही नहीं होते हैं, फिर भी सहायक होंगे क्योंकि यह उन लोगों को सीमित करेगा जिन्हें मैन्युअल रूप से चेक करने की आवश्यकता है ।
क्या किसी को भी ऐसा करने वाले किसी भी उपकरण के बारे में पता है या कोई भी मदद कर सकता है जो किसी भी दृष्टिकोण का सुझाव दे सकता है।
पेज। मुझे इसे एक एम्बेडेड सी कोडबेस पर करने की ज़रूरत है जिसमें कोड की 1 मिलियन से अधिक लाइनें हों।
अधिकांश कंप्यूटर्स के पास स्ट्रक्चर को पैक करने का विकल्प होता है - एमएसवीसी ++ पर यह '/ zp' है, जीसीसी पर यह' -फैक-स्ट्रक्चर 'है। ध्यान रखें कि (1) यह अन्य कोड के साथ एबीआई संगतता को तोड़ देगा और (2) अधिकांश सीपीयू अनियंत्रित डेटा को धीरे-धीरे एक्सेस करेंगे (या कुछ आर्किटेक्चर पर नहीं)। –