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