شرح مترجم C ++: ما هو المترجم وكيف تستخدمه؟

مقدمة إلى C ++ Compilers

لبدء استخدام C ++ ، ستحتاج إلى معرفة القليل عن المجمّعين وكيفية تشغيل C ++ على جهاز الكمبيوتر الخاص بك.

عندما يتم قول وفعل كل شيء ، لا تفهم أجهزة الكمبيوتر سوى لغة واحدة ، لغة الآلة. تتكون لغة الآلة بالكامل من بتات ثنائية ، أو 0 و 1.

في حين أنه سيكون من الممكن البرمجة بنظام ثنائي ، إلا أنه سيكون مملاً بشكل لا يصدق ويستغرق وقتًا طويلاً. لذلك ، طورنا نحن البشر لغات برمجة لتسهيل تطوير البرامج.

لغة التجميع هي لغة مباشرة من 1 إلى 1 مع لغة الآلة. لغات مثل C و C ++ و COBOL أعلى قليلاً وتحتاج إلى تجميعها. يذهب أعلى. تحتوي لغات مثل JavaScript و Python على مكونات يتم ترجمتها إلى C ++ أو غيرها من اللغات منخفضة المستوى قبل أن يتم تجميعها ، مما يجعلها لغات "أعلى" بشكل فعال من C أو C ++.

نظرًا لأن بنية الكمبيوتر تتكون من محولات وكابلات إلكترونية يمكنها العمل فقط مع ثنائيات 1 و 0 ، فأنت بحاجة إلى مترجم لترجمة شفرتك من C ++ عالي المستوى إلى لغة الآلة التي يمكن أن تفهمها وحدة المعالجة المركزية.

كيف يعمل المترجمون

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

عندما تقوم بتشغيل مترجم على التعليمات البرمجية الخاصة بك ، أولاً ، يقوم المعالج الأولي بقراءة شفرة المصدر (ملف C ++ الذي كتبته للتو). يبحث المعالج المسبق عن أي توجيهات للمعالج المسبق (تبدأ أسطر الكود بعلامة #). تؤدي توجيهات المعالج المسبق إلى قيام المعالج المسبق بتغيير التعليمات البرمجية بطريقة ما (عن طريق إضافة مكتبة أو ملف C ++ آخر).

بعد ذلك ، يعمل المترجم من خلال سطر الكود المعالج مسبقًا عن طريق ترجمة كل سطر إلى تعليمات لغة الآلة المناسبة. سيؤدي هذا أيضًا إلى الكشف عن أي أخطاء في بناء الجملة موجودة في شفرة المصدر الخاصة بك وسيقوم بإلقاء خطأ في سطر الأوامر.

أخيرًا ، في حالة عدم وجود أخطاء ، يقوم المترجم بإنشاء ملف كائن باستخدام ثنائي لغة الآلة الضروري للتشغيل على جهازك. بينما من المحتمل أن يكون ملف الكائن الذي أنشأه المترجم للتو كافيًا للقيام بشيء ما على جهاز الكمبيوتر الخاص بك ، إلا أنه لا يزال غير قابل للتنفيذ في برنامج C ++. هناك خطوة أخيرة مهمة للوصول إلى برنامج قابل للتنفيذ.

يحتوي C ++ على مكتبة واسعة للمساعدة في أداء المهام الصعبة مثل الإدخال / الإخراج ومعالجة الأجهزة. يمكنك تضمين هذه المكتبات مع توجيهات المعالج المسبق ، لكن المعالج لا يضيفها تلقائيًا إلى التعليمات البرمجية الخاصة بك.

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

فكر في الأمر على أنه يحتوي على كل الكتل اللازمة لبناء منزل. قام المترجم بإنشاء جميع الكتل ولكن الرابط هو الذي يربطهم جميعًا معًا لإنشاء منزل في النهاية. بمجرد الانتهاء من ذلك ، لديك الآن ملف قابل للتنفيذ يعمل!

كيفية ترجمة ملف

لنفترض أن لديك ملف C ++ يسمى helloWorld.cpp...

إذا كنت تستخدم Windows

استخدام و IDE مثل CodeBlocks

الأمر بسيط مثل النقر فوق أزرار الإنشاء والتشغيل ، وسوف يقومون بإنشاء ملف في مجلد المشروع.

IMG

باستخدام موجه الأوامر

  1. افتح موجه أوامر المطور - في هذه الخطوة ، ستحتاج إلى Microsoft Visual Studio أو بعض IDE الآخر الذي يمكّنك من ترجمة البرنامج من سطر الأوامر. يمكنك أيضًا البحث عبر الإنترنت عن برامج التحويل البرمجي لـ C ++.
  2. انتقل إلى التعليمات البرمجية المصدر مباشرة
  3. قم بتشغيل المترجم على التعليمات البرمجية المصدر الخاصة بك (على افتراض أنك تستخدم مترجم Microsoft Visual Studio) cl /EHsc helloWorld.cpp

سيؤدي هذا الآن إلى إنشاء ملف كائن وربطه تلقائيًا لك. إذا نظرت في نفس المجلد ، فسترى ملف hellWorld.exe القابل للتنفيذ (لاحظ امتداد exe) موجود الآن.

  1. اكتب helloWorldفي موجه الأوامر لتشغيل الملف القابل للتنفيذ

بدلاً من ذلك ، تسمح العديد من IDEs ببناء البرنامج وعرضه بسرعة. قد يكون هذا أسهل نظرًا لأن إصدار Windows الخاص بك قد لا يأتي مُعبأ مسبقًا بأداة مساعدة للمترجم.

إذا كنت تستخدم Linux أو OSX

  1. افتح نافذة طرفية وانتقل إلى دليل التعليمات البرمجية المصدر
  2. قم بتشغيل المترجم على التعليمات البرمجية المصدر الخاصة بك g++ helloWorld.cpp -o helloWorld

سيؤدي هذا إلى إنشاء ملف كائن وربطه تلقائيًا لك. ابحث في المجلد وسترى ملف helloWorld.exe القابل للتنفيذ (لاحظ امتداد exe).

  1. اكتب ./helloWorldفي نافذة المحطة الطرفية لتشغيل الملف القابل للتنفيذ

g ++ هو مترجم Linux القياسي وهو أداة مفيدة رائعة. يأتي مع نظام التشغيل.

ملاحظة: لتجميع التعليمات البرمجية وتنفيذها مباشرةً ، قم بتشغيلها g++ -o helloWorld helloWorld.cpp; ./helloWorldعندما تحتاج إلى تجميع التعليمات البرمجية وتشغيلها عدة مرات ، قم بإدخال السهم لأعلى.

هناك عدد من الأنواع المختلفة من المجمعين. الاثنان المدرجان هما النوعان اللذان يتم حزمهما عادةً مع Windows أو Linux / OSX.

مزيد من المعلومات حول C ++

  • مقدمة عن برمجة C ++
  • البرمجة الشيئية في C ++
  • شرح خوارزميات الرسم البياني وهياكل البيانات بلغتي C ++ و Java
  • كيفية تجميع كود C ++ الخاص بك في VS Code