2009-10-30 11 views

उत्तर

9

* .a एक rchive पुस्तकालय यह अपने स्रोतों संकलन बनाने के लिए:

gcc -c -o foo.o foo.c 
gcc -c -o boo.o boo.c 

ar -rsc yourlib.a foo.o boo.o 

तो - स्थान स्वतंत्र कोड साझा लाइब्रेरी

gcc -fPIC -shared -soname,libfoo.so.1 -o libfoo.so.1.0 foo.c boo.c 
+0

किसी भी विचार .so फ़ाइल –

+0

दूसरा (-fPIC) के बारे में, * .so पुस्तकालयों बनाता है आपका स्रोतों इस तरह से, कोई दूसरा रास्ता (मैं अन्य तरीकों से पता नहीं है) संकलित किया जाना चाहिए। – bua

3
#create shared library 
gcc -Os -fPIC -c test.c 
gcc -shared test.so test.o 


#create static library 
gcc -Os -c test.c 
ar rcs test.a test.o 
0

इस पर एक नजर डालें Makefile मैंने लिखा जब मैं सी के लिए नया था। यह स्पष्ट रूप से दिखाता है कि .a औरको कैसे उत्पन्न और सही ढंग से लिंक करना हैsimple demo source से फ़ाइलें।

2

.a को एक स्थिर पुस्तकालय भी कहा जाता है, और .so को गतिशील रूप से लोड की गई लाइब्रेरी भी कहा जाता है।

मुझे Program Library HOWTO पसंद है।

प्रोग्रामर के लिए यह विधि चर्चा बनाने के लिए और उपयोग कार्यक्रम लिनक्स पर पुस्तकालयों। इसमें स्थैतिक पुस्तकालय, साझा पुस्तकालय, और गतिशील रूप से लोड किए गए पुस्तकालय शामिल हैं।

Yo Linux tutorial भी उपयोगी है।

इस ट्यूटोरियल पुस्तकालयों के पीछे के दर्शन और निर्माण और C/C++ पुस्तकालय की उपयोग "साझा घटकों" और "प्लग-इन" चर्चा करता है। विभिन्न तकनीकों और पद्धतियों उनके उपयुक्त एप्लिकेशन के लिए उपयोग और अंतर्दृष्टि पर भी चर्चा की गई है। इस ट्यूटोरियल में, सभी पुस्तकालय जीएनयू लिनक्स कंपाइलर का उपयोग करके बनाए गए हैं।

संबंधित मुद्दे