में बाइनरी ऑब्जेक्ट फ़ाइल बदलते समय हर बार जब मैं बिल्ड करता हूं, तो G ++ GNU कंपाइलर का उपयोग करते समय संकलन करते समय, मुझे एक अलग बाइनरी ऑब्जेक्ट फ़ाइल मिलती है। क्या एक संकलन विकल्प है जो मुझे हर बार एक ही बाइनरी देगा।प्रत्येक बिल्ड
उत्तर
जीसीसी मानव पेज से कॉपी किया गया:
-frandom-बीज = स्ट्रिंग
यह विकल्प एक बीज है कि जीसीसी जब यह अन्यथा उपयोग यादृच्छिक संख्या का उपयोग करता है प्रदान करता है। यह कुछ संकलित नामों को उत्पन्न करने के लिए उपयोग किया जाता है जो प्रत्येक संकलित फ़ाइल में अलग होना चाहिए। यह का उपयोग कवरेज डेटा फ़ाइलों और ऑब्जेक्ट फ़ाइलों में अद्वितीय टिकटों को रखने के लिए भी किया जाता है जो उत्पन्न करते हैं। आप पुनर्नवीनीकरण समान ऑब्जेक्ट फ़ाइलों का उत्पादन करने के लिए -frandom-seed विकल्प का उपयोग कर सकते हैं।स्ट्रिंग आपके द्वारा संकलित प्रत्येक फ़ाइल के लिए अलग होना चाहिए।
धन्यवाद, यह मेरे लिए काम करता प्रतीत होता है। – user502603
आपको make
का बेहतर उपयोग करना चाहिए। इस तरह यदि आपका स्रोत नहीं बदला है, तो संकलन छोड़ा जाएगा, इसलिए ऑब्जेक्ट फ़ाइलों को बदला नहीं जाएगा।
संपादित करें: कुछ सोचने के बाद, मेकफ़ाइल के साथ आपकी टिप्पणी को संबोधित करना संभव है जो प्रीप्रोकैसिंग और वास्तविक संकलन को अलग करता है। और कुछ गंदे चालें।
उदाहरण makefile:
all: source
source: source.i.cpp
@cmp -s source.i.cpp source.i.prev || g++ source.i.cpp -o source
@touch source
@cp source.i.cpp source.i.prev
source.i.cpp: source.cpp
@g++ -E source.cpp >source.i.cpp
कृपया ध्यान दें निष्पादन के समय बदल गया है, लेकिन सामग्री नहीं है (यदि आप केवल टिप्पणियों, न कि वास्तविक कोड बदल)।
मैं स्रोत से बदल रहा हूँ, लेकिन केवल टिप्पणी जोड़ने में बदलाव नहीं कार्यक्रम। क्या आपके पास इस मामले का समाधान है? – user502603
असल में नहीं, स्रोत फ़ाइल बदलने का अर्थ पुन: संकलन है :-(मेक और अन्य बिल्ड टूल्स समझने के लिए इतने चालाक नहीं हैं कि केवल टिप्पणियां बदल दी गई हैं। – Vlad
आपके मामले को कवर करने के लिए उत्तर बढ़ाया :) – Vlad
- 1. हडसन: प्रत्येक बिल्ड
- 2. विजुअलस्टूडियो 2010 प्रत्येक बिल्ड
- 3. चींटी - प्रत्येक बिल्ड
- 4. Tycho प्रत्येक बिल्ड
- 5. प्रत्येक
- 6. प्री बिल्ड बिल्ड इवेंट
- 7. बिल्ड
- 8. बिल्ड
- 9. Maven2 बिल्ड
- 10. जेनेट्स आंशिक बिल्ड/मॉड्यूलर बिल्ड कमिट हुक
- 11. बिल्ड मोड
- 12. पूर्ण बिल्ड, इंक्रीमेंटल बिल्ड और तैनात PowerBuilder
- 13. हडसन बिल्ड/सीआई सर्वर
- 14. बिल्ड-टाइम svn संशोधन
- 15. नेटबीन पोस्ट बिल्ड स्क्रिप्ट
- 16. जेनकींस बिल्ड इतिहास देखें
- 17. बिल्ड संख्या: major.minor.revision
- 18. CruiseControl.net - बिल्ड
- 19. मेवेन बिल्ड
- 20. डीबग बिल्ड
- 21. "बिल्ड" आइटम?
- 22. एमएस बिल्ड
- 23. बिल्ड समय
- 24. बिल्ड प्रक्रिया
- 25. टाइको बिल्ड
- 26. रिमोट बिल्ड
- 27. बिल्ड लक्ष्य
- 28. चींटी बिल्ड
- 29. रिशेर्पर - बिल्ड
- 30. डीबग बिल्ड
[जी के साथ नियतात्मक द्विआधारी उत्पादन ++] की संभावित डुप्लिकेट (http://stackoverflow.com/questions/14653874/deterministic-binary-output-with-g) –