संकलित करने के लिए बहुत लंबा समय लेते हैं C++ में लिखे गए एक प्रोग्राम के लिए, मुझे स्ट्रिंग के दो विशाल सरणी की आवश्यकता होती है जिसमें डेटा होता है।सी ++ (जीसीसी/जी ++) तारों के दो विशाल सरणी
वे एक हेडर फाइल में इस प्रकार परिभाषित कर रहे हैं:
#include <string>
static const string strdataA[30000]={"this is the first line of the data",
"the second line of data",
"other stuff in the third line",
नीचे
"last line."};
करने के लिए नीचे करने के लिए
"last line."};
//second array strings
static const string strdataB[60000]={"this is the first line of the data",
"the second line of data",
"other stuff in the third line",
लेकिन जब मैं जी के साथ इस संकलन ++, यह बहुत लेता है लंबे समय तक मैंने इसे पूरा नहीं देखा है। यह लगभग दो जीबी वर्चुअल मेमोरी का भी उपयोग करता है। तो मैंने strdataB [] पर टिप्पणी की, और फिर कार्यक्रम संकलित किया, लेकिन अभी भी लंबे समय के बाद। निष्पादन योग्य केवल 8 एमबी था और ठीक काम किया।
संकलन प्रक्रिया को तेज़ करने के लिए मैं क्या कर सकता हूं? मुझे कोई फर्क नहीं पड़ता कि मुझे कोड बदलना है, लेकिन मैं लोड करने के लिए बाहरी फाइल का उपयोग नहीं करना चाहता हूं। मुझे एक सरणी चाहिए क्योंकि यह प्रोग्राम के अंदर मेरे लिए बेहद अच्छा काम करता है।
मैंने नेट पर कहीं भी पढ़ा है कि "स्थिर कॉन्स" को चाल चलनी चाहिए, लेकिन मुझे अनुभव से पता चला कि यह नहीं है।
किसी भी सुझाव के लिए अग्रिम धन्यवाद!
आप कितने लाइनों के बारे में बात कर रहे हैं? क्या आपके स्रोत में वास्तव में 30,000 और 60,000 तार हैं? –
मुझे लगता है कि वे एक स्रोत फ़ाइल में हैं जो हेडर फ़ाइल नहीं है। –
आपको एहसास है कि लोडर को मूल रूप से वही करना है जैसा आप करेंगे यदि आपने बाहरी फाइल से तारों को लोड किया है? –