ما هي بعض المترجمات الجيدة التي يجب استخدامها عند تعلم لغة C++؟[مغلق]

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

  •  09-06-2019
  •  | 
  •  

سؤال

ما هي بعض الاقتراحات لسهولة استخدام مترجمات C++ للمبتدئين؟يفضل أن تكون مجانية أو مفتوحة المصدر.

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

المحلول

دول مجلس التعاون الخليجي خيار جيد للأشياء البسيطة.

إصدار Visual Studio Express هو الإصدار المجاني من برنامج التحويل البرمجي الرئيسي لنظام التشغيل Windows C++.

إذا كنت تستخدم نظام التشغيل Windows فسأستخدم VS.إذا كنت تستخدم نظام التشغيل Linux، فيجب عليك استخدام مجلس التعاون الخليجي.

*أقول كلمة "GC" للأشياء البسيطة لأنه بالنسبة للمشروع الأكثر تعقيدًا، فإن عملية البناء ليست بهذه السهولة

نصائح أخرى

G++ هو مترجم GNU C++.يجب أن تتوفر الحزمة في معظم توزيعات *nix.

أنصح باستخدام ديف سي ++.إنه بيئة تطوير متكاملة (IDE) صغيرة وخفيفة الوزن تستخدم منافذ mingw كواجهة خلفية، مما يعني أنك ستقوم بتجميع المترجم الفعلي لـ C/C++، مجلس التعاون الخليجي

للمبتدئين:g++ --أخطاء متحذقة -Wall

سيساعد ذلك في فرض برمجة جيدة منذ البداية.

gcc مع -Wall (تمكين جميع التحذيرات) -Werror (تغيير التحذيرات إلى أخطاء)، -pedantic (الحصول على تحذيرات للتعليمات البرمجية غير القياسية) و -ansi (إنشاء المعيار c++98).

إذا كان التحذير أمرًا أنت على دراية به وتحتاج إلى إيقاف تشغيله، فيمكنك دائمًا إعادته مرة أخرى إلى تحذيرات.

أوصي بـ gcc لأنه مصمم ليتم استخدامه في سطر الأوامر، ويمكنك تجميع برامج بسيطة ورؤية ما يحدث بالضبط:

g++ -o myprogram myprogram.cc
ls -l myprogram

ملف واحد للداخل، ملفان للخارج.مع Visual C++، يستخدمه معظم الأشخاص مع واجهة المستخدم الرسومية، حيث يتعين عليك إعداد مشروع ويقوم IDE بإنشاء مجموعة من الملفات التي يمكن أن تعترض طريقك إذا كنت قد بدأت للتو.

إذا كنت تستخدم Windows، فسوف تختار بين MingW أو Cygwin.يتطلب إعداد Cygwin القليل من العمل لأنه يتعين عليك اختيار الحزم التي تريد تثبيتها، لكن ليس لدي خبرة في استخدام MingW.

يمكنك دائمًا استخدام برنامج التحويل البرمجي C++ من Gnu Compiler Collection (GCC).وهو متاح تقريبًا لأي نظام Unix على وجه الأرض، وBSD، وMac OS، وLinux، وWindows (عبر Cygwin أو mingw).

يدعم عدد من بيئات التطوير المتكاملة (IDEs) برنامج التحويل البرمجي لـGC C++، على سبيل المثال.KDevelop ضمن Linux/KDE، أو Dev-CPP كما هو مذكور في منشورات أخرى.

يعد Microsoft Visual Studio Express Edition لمترجم C++ الخاص بهم أمرًا جيدًا

CodeBlocks هو IDE جيد جدًا يمكن استخدامه إلى جانب العديد من المترجمين الآخرين CL.EXE (من الاستوديو المرئي) وgcc.ويأتي أيضًا في إصدار يتضمن دول مجلس التعاون الخليجي.

يعد إصدار Visual Studio Express خيارًا جيدًا جدًا أيضًا (مع Platform SDK إذا كنت ستقوم بتطوير تطبيق يستدعي وظائف winapi).

يعد Eclipse خيارًا جيدًا لنظام التشغيل Mac، أو Xcode المجاني الخاص بشركة Apple والذي يمكن تنزيله/تنزيله من موقع التطوير الخاص بهم.

أحد أسباب استخدام g++ أو MingW/Cygwin الذي لم يتم ذكره بعد هو أن البدء وIDE سيخفيان بعضًا مما يحدث.سيكون من المفيد للغاية في المستقبل فهم الاختلافات بين التجميع والربط على سبيل المثال.تعلمها وافهمها من البداية، ولن تعرف حتى أنك يجب أن تشكر نفسك لاحقًا.

-الأعلى

I say GCC for simple things because for a more complicated project the build process isn't so easy

صحيح، لكنني لا أعتقد أن فهم عملية بناء مشروع كبير أمر متعامد مع فهم المشروع نفسه.وظيفتي الأخيرة التي عملت فيها، كان لديهم مشروع ضخم يحتاج إلى إنشاء النظام الأساسي المستهدف (LynxOS) بالإضافة إلى بيئة المحاكاة (WinXP).لقد اختاروا رمي كل شيء في ملف .VCP واحد على نظام التشغيل Windows، وإنشاءه كملف واحد كبير قابل للتنفيذ.كان الهدف هو حوالي 50 عملية فردية، لذا قاموا بكتابة ملف تعريفي يدرج جميع ملفات المصدر البالغ عددها 3000، وقاموا بتجميعها جميعًا في مكتبة واحدة كبيرة، ثم ربطوا ملفات main.cpp الفردية لكل ملف قابل للتنفيذ بمكتبة الكل في واحد، إنشاء 50 ملفًا تنفيذيًا (والتي ربما تشترك في 10% من التعليمات البرمجية الخاصة بها مع الملفات التنفيذية الأخرى).ونتيجة لذلك، لم يكن لدى أي مطور أدنى فكرة عن الكود الذي يعتمد على أي كود آخر.ونتيجة لذلك، لم يكلفوا أنفسهم عناء محاولة تحديد واجهات نظيفة بين أي شيء، لأنه كان من السهل الوصول إلى كل شيء من خلاله في كل مكان.كان من الممكن أن يساعد نظام البناء الهرمي في فرض نوع من النظام في مستودع كود المصدر غير المنظم.

إذا لم تتعلم كيف تنتج ملفات .cpp رمز الكائن، وما هي المكتبة الثابتة، وما هي المكتبة المشتركة، وما إلى ذلك، عندما تتعلم C/C++، فلا تزال بحاجة إلى تعلمها في مرحلة ما لتكون مطور C/C++ مختص.

يتصرف Visual Studio في سطر الأوامر تمامًا مثل دول مجلس التعاون الخليجي.ما عليك سوى فتح نافذة سطر أوامر Visual Studio و:

c:\temp> cl /nologo /EHsc /W4 foo.cpp
c:\temp> dir /b foo.*
foo.cpp  <-- your source file
foo.obj  <-- result of compiling the cpp file
foo.pdb  <-- debugging symbols (friendly names for debugging)
foo.exe  <-- result of linking the obj with libraries

وأنا أتفق مع يوليان تشيربانيو: Code::Blocks هو حل جيد جدًا, ، يمكن استخدامه من Linux (سيستخدم g++/gcc) ومن Windows (سيستخدم إما مترجم MS أو gcc)

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

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

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