سؤال

لقد رأيت هذا المصطلح في مترجم بيثون LISP وبعض مصادر رابط C.

تخميني هو أن الإصلاح هو مجرد مجمع حول روتين التجمع الذي يتأكد من أن المحاذاة صحيحة، لكنني لست متأكدا على الإطلاق عن أي شيء هنا.

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

المحلول

"إصلاح" هو مصطلح رابط. هناك مناقشة جيدة لها هنا:

http://www.microsoft.com/msj/0797/hood0797.aspx.

كلما يشير ملف كائن (.o، وبعد سيقوم بعض ملف الكائنات الأخرى بتحديد "FOO"، سيعود الرابط ثم "إصلاح" 0 ليكون العنوان الصحيح.

بالمناسبة، إذا كان لا أحد يحرف "فو"، فإنك تحصل على رسالة خطأ Retro 50 في نمط التصميم "لا يمكن العثور على مرجع إلى _foo" أو حتى أقل شمولية إذا كنت تستخدم C ++.

ونادرا ما تحصل على "خطأ في إصلاح" عندما لا يصلح عنوان "Foo" حيث يريد الرابط وضعه. بشكل عام، يأتي هذا من إصلاح يتطلب إزاحة نسبة كبيرة جدا.

نصائح أخرى

Linker and Loaders هو مورد Inker مثير للاهتمام يشرح الكثير من Jargon، ويشمل CPUs غير X86 هنا وهناك أيضا:

http://www.iecc.com/linker/

من مؤشر الشركات المشرف.

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