المفهوم في التعريف ABC
منوعات / / July 04, 2021
بقلم: غويلم ألسينا غونزاليس ، في سبتمبر. 2017
كيف نتعايش مع شخص لا نشترك معه في اللغة؟ من خلال مترجم. وظيفة الترجمة هذه هي ما يؤدي ملف مترجم لتتحول إلى الشفرة التعليمات البرمجية المصدر القابلة للتنفيذ التي كتبها مبرمج.
التجميع هو العملية التي يتم من خلالها كتابة البرنامج بلغة عالية المستوى تُترجم إلى رمز الآلة الذي تستخدمه بنية حاسوبية معينة لتنفيذه مباشرة.
لذلك ، ووفقًا للتفسير الذي اقترحناه للتو ، فإن هذا النظام يتطلب اختيار أ هندسة معمارية الوجهة ، والتي قد تكون مختلفة في كل حالة وستجبرنا على التجميع بشكل منفصل لكل من البنى المختلفة التي نريد تشغيل برنامجنا فيها.
وهكذا ، على سبيل المثال ، يمكننا التقدم في برنامج معين لهندسة معمارية 32 بت x86 ، 64 بت x86 ، يفرق PowerPC أو ARM أيضًا بين 32 بت و 64 بت ، اعتمادًا على نوع الجهاز الذي نريده شغلها.
بالإضافة إلى ذلك ، يجب علينا أيضًا مراعاة أنظمة التشغيل المختلفة ، حتى لو كنا نعمل على نفس النظام الأساسي المعدات، لأن لكل واحد طريقة مختلفة للتفاعل مع الآلة المادية
لنأخذ النظام الأساسي x86 64 بت كمثال. قد نرغب في تجميع ل شبابيكأو GNU / Linux أو macOS ، أو لكل واحد منهم ، مما يعني ثلاث عمليات تجميع منفصلة.
في بعض الأحيان ، يجبرنا هذا على تعديل شفرة المصدر قليلاً ، وغالبًا ما نحتفظ بثلاثة إصدارات منفصلة (أو أكثر ، اعتمادًا على الحالة) حتى يتفاعلوا بشكل صحيح مع خصوصيات واختلافات منصة الوجهة.
تتبع عملية التجميع سلسلة من الخطوات ، مثل اكتشاف الأخطاء النحوية في التعليمات البرمجية المصدر ، ثم ملف مُعالجة مسبقًا لمعرفة الموارد التي يحتاجها البرنامج ، وأخيرًا الارتباط بالمكتبات والموارد اللازمة له إعدام.
بهذه الطريقة ، أ ملف ملف قابل للتنفيذ يحتوي على الكل مصادر اللازمة لتنفيذه ، والتعليمات اللازمة للوصول إلى الموارد الخارجية ، مثل مكتبات الرموز المشتركة (مشترك).
تتم عملية التجميع باستخدام أداة أو أدوات محددة (مترجم) ، على الرغم من أنه من الشائع أن يتم دمج هذا في بيئات التطوير (IDE) ، وبالتالي تسهيل استخدامه.
كل لغة من برمجة لديه مترجم خاص به ، على الرغم من أنه لفترة طويلة ، فإن المترجم المطابق للغة والبيئة ، قادر على إنشاء ملفات تنفيذية لمنصات مختلفة البرمجيات مختلف.
هل هناك خيار بديل لعملية البناء؟ نعم ، وهي لغات مترجمة.
اللغات المفسرة هي تلك التي يتم ترجمتها في وقت التشغيل ، وليس المترجمة.
لذلك ، فإن شفرة المصدر الخاصة بهم متاحة دائمًا ، وما يحتاجون إليه هو ذلك في ملف نظام التشغيل الذي تم إعدامهم فيه ، هناك مترجم.
عن طريق تجنب عملية التجميع ، إذا كان المترجم متاحًا لمنصات متعددة ، سيكون من الممكن تشغيل البرنامج مباشرة على كل واحد منهم ، عادة بدون تغييرات.
آخر التركيز البديل ، في منتصف الطريق بين اللغات المترجمة والمترجمة ، هي تلك التي تتطلب آلة افتراضية لتشغيلها ، على سبيل المثال ، Java.
تتطلب لغات البرمجة التي تعمل فوق طبقة افتراضية (آلة افتراضية) عملية وسيطة مماثلة لتلك الخاصة بـ التحويل البرمجي ، ولكن ينتج عن ذلك رمز غير قابل للتنفيذ بشكل مباشر ، على الرغم من أنه محسّن أكثر من ذلك الذي تنفذه اللغة مفسرة.
في هذه الحالات ، من الضروري أن تكون هناك عملية مماثلة في شكلها لعملية التجميع ، ولكن هذا يعطي نتيجة مختلفة ولا يزال يتطلب ، على أي حال ، التركيب من أ مدة العرض في نظام التشغيل الذي نريد تشغيل برنامجنا فيه.
الصور: فوتوليا - ألكسندر بوكوساي / أونوت
موضوعات في التجميع