كيف يمكنني العثور على اسم الملف من مكتبة عن طريق اسم المكتبة؟

StackOverflow https://stackoverflow.com/questions/1614769

سؤال

وكيف يمكنني العثور على اسم الملف من مكتبة عن طريق اسم المكتبة؟

وفي 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

وسيتم طباعة قائمة ملفات الإدخال للدينار

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top