Avatar ·

ما الفرق بين g++ و gcc عند ترجمة كود C++؟

مرحبًا بالجميع! أنا مطور C++ مبتدئ وأحاول فهم المترجمات. لدي MinGW مثبت على Windows، ولاحظت أن هناك أمرين متاحين في سطر الأوامر: gcc و g++. جربت ترجمة برنامج بسيط بلغة C++: ```cpp #include using namespace std; int main() { cout << "Hello, World!" << endl; return 0; } ``` عندما أترجم هذا بالأمر `gcc test.cpp -o test`، أحصل على أخطاء ربط — undefined reference إلى `std::cout` وغيرها. لكن إذا استخدمت `g++ test.cpp -o test`، يعمل كل شيء بشكل ممتاز. على الإنترنت يكتبون أن gcc مخصص لـ C، و g++ مخصص لـ C++. لكن أليس من المفترض أن يدعم gcc لغة C++؟ ففي الاسم يوجد "GNU Compiler Collection" وليس "GNU C Compiler". أرجو التوضيح، ما الفرق الجوهري؟ لماذا لا يستطيع gcc ترجمة كود C++ بسيط مع iostream؟ وهل يمكن إجبار gcc على العمل مع ملفات C++ إذا كان ضروريًا جدًا؟ شكرًا مقدمًا! <<>>

الفرق الأساسي: gcc مقابل g++