मुझे एक बड़ी समस्या है। मेरे पास एक आम पुस्तकालय है, जिसका उपयोग पूरे प्रोजेक्ट में किया जाता है। यह लाइब्रेरी boost.spirit
और boost.fusion
का गहन रूप से उपयोग करती है। दुर्भाग्यवश, पुस्तकालय लगभग है। आकार में 700 एमबी। सभी boost.spirit
-heavy कोड का उपयोग किया जाता है और यह अच्छी तरह से काम करता है। इसके आउटपुट आकार को कम करने के लिए क्या कदम उठाए जा सकते हैं? क्या कोई ऐसा टूल है जो यह निर्धारित करने में मदद कर सकता है कि कौन से टेम्पलेट इंस्टीटेशन अधिकांश जगह बर्बाद कर रहे हैं?टेम्पलेट-भारी सी ++ कोड के आउटपुट आकार को कैसे कम करें?
सबसे पहले, मैंने सभी भावना-जागरूक कोड को सीपीपी फ़ाइलों में स्थानांतरित करने का निर्णय लिया। दूसरा, मैं आकार के लिए अनुकूलित करने के लिए विभिन्न कंपाइलर झंडे का प्रयास करूंगा। मुझे नहीं मालूम और क्या करना है।
अद्यतन (विवरण)
मैं जीएनयू toolchain उपयोग कर रहा हूँ। विशाल पुस्तकालय वास्तव में एक स्थिर पुस्तकालय है। निष्पादन योग्य, जो इस 700 एमबी पुस्तकालय का उपयोग करता है वह आकार में 200 एमबी है। कोड का कम से कम आधा * .h फाइलों में है। कुछ boost.spirit
व्याकरण (बहुत टेम्पलेट भारी चीज़) * .h फ़ाइलों में भी स्थित है।
चीयर्स!
निष्पादन योग्य आकार के लिए चमत्कार 'दृश्यता' विशेषता के लिए धन्यवाद, इसके बारे में नहीं जानते। – Lazin