वे हेडर में संस्करण को बढ़ाकर ऐसा करते हैं। तो हां, यह एक अर्थ में संगत है कि अगर आप 1.45.0 release notes इंगित करते हैं तो असंगत संस्करण के साथ क्रमबद्ध बाइनरी डेटा को पढ़ने का प्रयास करते हैं तो आपको एक सुखद विफलता मिलेगी। इसके अलावा 1.42 और 1.43 में बग हैं जो इसे तोड़ते हैं!
संस्करण 1.42 और 1.43 के तहत बनाए गए मूल बाइनरी अभिलेखागार गंभीर समस्या से पीड़ित हैं। ऐसा लगता है कि वे इस नवीनतम संस्करण द्वारा पठनीय नहीं होंगे। इस तथ्य के कारण 1.42 ने कुछ प्रकार के बाइनरी प्रारूप में कुछ बदलाव किए। आम तौर पर इसे संग्रह शीर्षलेख में लिखे गए लाइब्रेरी संस्करण संख्या का पता लगाकर संबोधित किया जा सकता है। दुर्भाग्यवश, यह लाइब्रेरी संस्करण संख्या 1.42 पर बढ़ी नहीं थी जैसा कि यह होना चाहिए था। तो अब हमारे पास एक ही लाइब्रेरी संस्करण संख्या के साथ दो अलग-अलग बाइनरी संग्रह संस्करण हैं।
मैं व्यक्तिगत रूप से Google Protocol Buffers में अधिक विश्वास रखते हैं होता है, यह explicitly maintains backwards compatibility:
आप पीछे की ओर-संगतता को तोड़ने के बिना अपने संदेश प्रारूपों के लिए नए क्षेत्रों को जोड़ सकते हैं; पुरानी बाइनरी बस पार्सिंग करते समय नए क्षेत्र को अनदेखा करते हैं।
हालांकि इसे बिल्ड सिस्टम पक्ष पर थोड़ा अधिक प्रयास की आवश्यकता है क्योंकि इसमें ऑटो-जेनरेट कोड का उपयोग करना शामिल है।
स्रोत
2011-09-28 13:53:38
यह एक डुप्लिकेट होगा, लेकिन इसका कोई संतोषजनक उत्तर नहीं है। – julkiewicz
@julkiewicz हां, प्लस ओपी अभी तक मौजूदा प्रश्न पर बक्षीस देने की स्थिति में नहीं है। –
उह, यदि कोई अच्छा डुप्लिकेट नहीं है तो यह क्यों बंद हो जाता है? –