जीएनयू archiver की एक छोटी सी प्रयुक्त सुविधा संग्रह स्क्रिप्ट, यह एक सरल लेकिन शक्तिशाली इंटरफ़ेस है है, और अगर निम्न स्क्रिप्ट script.ar कहा जाता है यह उदाहरण के लिए वास्तव में आप क्या चाहते हैं कर सकते हैं,:
CREATE libNewColor.a
ADDLIB libColor.a
ADDLIB libRGB.a
ADDLIB libPixel.a
SAVE
END
तो फिर तुम ar इस प्रकार आह्वान सकता:
ar -M < script.ar
और आप libNewColor.a कि libColor.a libRGB.a और libPixel.a से ओ फ़ाइलों के सभी शामिल हैं मिलेगा।
इसके अतिरिक्त आप नियमित रूप से भी जोड़ सकते हैं।ओ फ़ाइलों के रूप में अच्छी तरह से साथ ADDMOD आदेश:
CREATE libNewColor.a
ADDLIB libColor.a
ADDLIB libRGB.a
ADDLIB libPixel.a
ADDMOD someRandomCompiledFile.o
SAVE
END
इसके अलावा यह Makefiles में ये स्क्रिप्ट उत्पन्न करने के लिए सुपर आसान है, इसलिए मैं आम तौर पर अभिलेखागार बनाने जो वास्तव में स्क्रिप्ट उत्पन्न करता है और पर ar invokes के लिए कुछ हद तक एक सामान्य makefile नियम बनाते हैं स्क्रिप्ट। कुछ इस तरह:
$(OUTARC): $(OBJECTS)
$(SILENT)echo "CREATE [email protected]" > $(ODIR)/$(ARSCRIPT)
$(SILENT)for a in $(ARCHIVES); do (echo "ADDLIB $$a" >> $(ODIR)/$(ARSCRIPT)); done
$(SILENT)echo "ADDMOD $(OBJECTS)" >> $(ODIR)/$(ARSCRIPT)
$(SILENT)echo "SAVE" >> $(ODIR)/$(ARSCRIPT)
$(SILENT)echo "END" >> $(ODIR)/$(ARSCRIPT)
$(SILENT)$(AR) -M < $(ODIR)/$(ARSCRIPT)
हालांकि अब है कि मैं इसे देख मुझे लगता है कि यह $ अगर (वस्तुओं) काम नहीं करता रिक्त है (यानी अगर आप सिर्फ अतिरिक्त वस्तु फ़ाइलों को जोड़ने के बिना अभिलेखागार संयोजित करना चाहते हैं), लेकिन मैं लूंगा एक व्यायाम के रूप में छोड़ पाठक कि इस मुद्दे को ठीक करने के लिए यदि आवश्यक हो तो ...: डी
यहां इस सुविधा के लिये दस्तावेज हैं:
https://sourceware.org/binutils/docs/binutils/ar-scripts.html#ar-scripts
स्रोत
2013-09-03 17:36:03
आप वैकल्पिक रूप से http देख सकते हैं: // stackoverflow। कॉम/प्रश्न/8170450/गठबंधन-स्थिर-पुस्तकालय/8170851 # 8170851 और libt का उपयोग करें ool – Bruce
ध्यान दें कि न्यूनतमकरण चरण वास्तव में आवश्यक नहीं है। स्थैतिक पुस्तकालयों के साथ, लिंकर केवल उन ऑब्जेक्ट फ़ाइलों को पकड़ लेगा, जिन्हें साझा पुस्तकालयों के विपरीत, जिसमें सब कुछ शामिल है। प्रत्येक दृष्टिकोण के लिए कारण और फायदे हैं; वे सिर्फ अलग हैं। और जब आप स्थिर पुस्तकालयों के साथ काम कर रहे हों तो आपको वास्तव में चिंता करने की आवश्यकता नहीं है। –