كيف يمكنني العثور على اسم الملف من مكتبة عن طريق اسم المكتبة؟
-
06-07-2019 - |
سؤال
وكيف يمكنني العثور على اسم الملف من مكتبة عن طريق اسم المكتبة؟
وفي otherwords، عند استخدام "-Lc"، وأنا أعلم أنه هو /lib/libc.so.6 (أو شيئا من هذا القبيل.) أريد أن أكون قادرا على كتابة بعض الأوامر حيث "-Lc" هو المدخلات و "/lib/libc.so.6" هو الإخراج. تمديد هذه الفكرة futher، كنت أرغب في تحديد طريقي البحث الخاص حتى أتمكن من استخدام هذا محلل مكتبة للtoolchains مختلفة ... أي مساعدة ستكون رهيبة،
والشكر Chenz
المحلول
إذا كنت ترغب في معرفة أين سوف تجد دول مجلس التعاون الخليجي نظرا libc.a أو libc.so، قيام بذلك:
gcc --print-file-name=libc.a
gcc --print-file-name=libc.so
والسبب -lc
يترجم إلى libc.so.6
معقد إلى حد ما: لسي العمومية، libc.so
هو السيناريو رابط، والتي عادة ما تحتوي على:
/* 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 ) )
وأو شيئا من هذا القبيل.
نصائح أخرى
و-Wl دول مجلس التعاون الخليجي، - أثر file.c
وسيتم طباعة قائمة ملفات الإدخال للدينار