ماذا عن دول مجلس التعاون الخليجي جمعت مكتبة ثابتة تحتوي؟

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

  •  05-07-2019
  •  | 
  •  

سؤال

وبلدي وصلات تطبيق ضد libsamplerate.a. وأنا أفعل هذا لجعل توزيع ثنائي النهائي أسهل.

وأنا قلق أنه ربما كان من التعليمات البرمجية داخل ملف اللا يعتمد على بعض مكتبات أخرى كما أنني سوف تحتاج إلى توزيع.

ولكن إذا كان لا أشعر بالقلق وأنا النفخ يصل طلبي أكثر من اللازم من قبل بما في ذلك نسخ متعددة من مثل. LIBC.

وماذا بالضبط سوف تكون داخل libsamplerate.a؟ بايت كود فقط libsamperate على ذلك؟ أو أكثر من ذلك؟

هل كانت مفيدة؟

المحلول

مكتبة ثابتة هي مجرد مجموعة من الملفات الكائن. عند ترجمة برنامج ضد مكتبة ثابتة، يتم نسخ رمز الكائن للوظائف التي يستخدمها البرنامج من المكتبة في تنفيذ الخاص بك. وربط ضد مكتبة ثابتة لا يسبب أية وظائف خارج تلك المكتبة ليتم تضمينها في التعليمات البرمجية.

نصائح أخرى

وواللا الملف هو في الأساس مجرد مجموعة من الملفات .O. يمكنك إثبات ذلك باستخدام أداة ar.

وعلى سبيل المثال، لعرض محتويات المكتبة:

ar -t libsamplerate.a

لإنشاء ملف اللا من الصفر:

ar -r tim.a *.txt

ومجرد رمز الكائن لlibsamplerate. ربط ثابت ضد مكتبة واحدة لا يجعل جميع المكتبات مرتبطة بشكل ثابت. سيكون ذلك سيئا.

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