2009-10-23 14 views
10

लाइब्रेरी नाम के माध्यम से मुझे लाइब्रेरी का फ़ाइल नाम कैसे प्राप्त करें?लाइब्रेरी नाम के माध्यम से मुझे लाइब्रेरी का फ़ाइल नाम कैसे प्राप्त करें?

अन्य शब्दों में, जब मैं "-lc" का उपयोग करता हूं, मुझे पता है कि यह /lib/libc.so.6 (या कुछ समान है।) मैं कुछ कमांड टाइप करने में सक्षम होना चाहता हूं जहां "-lc" इनपुट है और "/lib/libc.so.6" आउटपुट है। इस विचार को आगे बढ़ाने के लिए, मैं तो मैं ... किसी भी मदद की भयानक हो सकता है,

धन्यवाद Chenz

अलग toolchains के लिए इस पुस्तकालय समाधानकर्ता उपयोग कर सकते हैं अपने खुद के खोज पथ निर्दिष्ट करना चाहता था

उत्तर

8

के लिए इनपुट फ़ाइलों की सूची प्रिंट होगा, ऐसा करते हैं:

gcc --print-file-name=libc.a 
gcc --print-file-name=libc.so 
,210

कारण -lclibc.so.6 में तब्दील हो थोड़ा जटिल है:

/* GNU ld script 
    Use the shared library, but some functions are only in 
    the static library, so try that secondarily. */ 
OUTPUT_FORMAT(elf32-i386) 
GROUP (/lib/libc.so.6 /usr/lib/libc_nonshared.a AS_NEEDED (/lib/ld-linux.so.2)) 

या कुछ इसी तरह की: glibc के लिए, libc.so एक लिंकर स्क्रिप्ट, जो आमतौर पर होता है।

4

जीसीसी -Wl, - ट्रेस file.c

आप पता लगाने के लिए जहां एक दिया जीसीसी libc.a पाते हैं या libc.so जाएगा चाहते हैं ld

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