मैं ऐसा करने के लिए निहित नियमों का उपयोग करके, स्थिर पुस्तकालयों का एक समूह बनाने के लिए जीएनयू बनाने का उपयोग कर रहा हूं। ये नियम पुस्तकालय/संग्रह को अद्यतन करने के लिए ar (1) कमांड चलाते हैं। प्रोफाइलिंग ने दिखाया है कि निर्माण के दौरान समांतर नौकरियों को चलाने के लिए -जे विकल्प का उपयोग करने पर बिल्ड समय कम हो जाएगा।संग्रह फ़ाइलों के समानांतर निर्माण के लिए जीएनयू बनाने के दौरान मैं समवर्ती समस्याओं से कैसे बचूं?
दुर्भाग्य से, जीएनयू मैनुअल एक वर्ग http://www.gnu.org/software/make/manual/html_node/Archive-Pitfalls.html कि काफी का कहना है कि मेकअप ar (1), और इस प्रकार यह कर सकते हैं (और करता है) भ्रष्ट संग्रह चलाने के लिए कोई संगामिति गार्ड प्रदान करता है बनाते हैं। मैनुअल आगे teases कि यह भविष्य में तय किया जा सकता है।
इसका एक समाधान http://code.google.com/p/ipcmd का उपयोग करना है, जो मूल रूप से कमांड चलाने से पहले सैमफोर लॉकिंग करता है, इस प्रकार संग्रह को बनाने वाले ar (1) कमांड को क्रमबद्ध करता है। यह विशेष समाधान मेरे लिए अच्छा नहीं है क्योंकि मैं विंडोज पर मिंगव आधारित क्रॉस-संकलन उपकरण के साथ निर्माण कर रहा हूं।
क्या इस समस्या का कोई आसान या बेहतर समाधान है?
मुझे लगता है कि आपको संग्रह को चलाने की जरूरत है, ओबीजे नहीं। संभवतः आप नियमों में ऑब्जेक्ट फ़ाइलों के लिए $^का उपयोग भी कर सकते हैं। – user1143888