2014-08-28 6 views
6

मैं V8 बना रहा हूं, और डिफ़ॉल्ट रूप से यह "पतली" संग्रह के रूप में बनाता है, जहां .a फ़ाइलों को अनिवार्य रूप से केवल ऑब्जेक्ट फ़ाइलों को रखने के बजाय आपके फाइल सिस्टम पर ऑब्जेक्ट फ़ाइलों पर पॉइंटर्स होते हैं। विवरण के लिए man ar देखें।सामान्य में एक पतला संग्रह बारी करें

मैं इस पुस्तकालय को एक केंद्रीय स्थान पर रखने में सक्षम होना चाहता हूं ताकि अन्य लोग इससे जुड़ सकें, और ऑब्जेक्ट फ़ाइलों की गड़बड़ी प्रदान करने के बजाय सामान्य संग्रह फ़ाइल प्रदान करना भी अधिक आसान होगा।

मैं निर्माण द्वारा उत्पादित पतले अभिलेखागार कैसे ले सकता हूं और उन्हें सामान्य में बदल सकता हूं? मुझे लगता है कि यह पतली संग्रह में ऑब्जेक्ट फ़ाइलों की गणना करने और उन लोगों का उपयोग करके एक संग्रह को पुनर्निर्माण के रूप में सरल होगा, लेकिन मुझे नहीं पता कि संग्रह की ऑब्जेक्ट फ़ाइलों को सूचीबद्ध करने के लिए किस कमांड का उपयोग किया जा सकता है।

उत्तर

17

कुछ अतिरिक्त अनुसंधान के बाद, ar -t एक संग्रह में वस्तु फ़ाइलों की गणना करने में है, तो कर लेंगे कि वह ar है कि सूची उपलब्ध कराने आप आमतौर पर होगा एक संग्रह बनाने जब के रूप में की बस एक बात है इस्तेमाल किया जा सकता।

निम्न स्क्रिप्ट एक ही बार में पुस्तकालयों के सभी के लिए इस संभाला:

for lib in `find -name '*.a'`; 
    do ar -t $lib | xargs ar rvs $lib.new && mv -v $lib.new $lib; 
done 
संबंधित मुद्दे