تفاوت کامپایلرهای سی پلاس پلاس

۰

به برنامه ساده زیر نگاه کنید:

#include <iostream>
#include <conio.h>
#include <time.h>
using namespace std;

void sleep(unsigned int mseconds)
{
    clock_t goal = mseconds + clock();
    while (goal > clock());
}

int main() 
{
   cout << "First Text" ;
   sleep(۳00۰);
   system("cls");
   cout << "Second Text" ;
   getch();
   return ۰ ;
}

چرا این برنامه در ویژال استدیو اجرا میشه ولی در code blocks که کامپایلر gcc داره اجرا نمیشه و به system(“cls”) گیر میده که میگه تعریف شده نیست.

انصراف

۲  پاسخ

۰

این موارد بعضی وقتا تو کامپایلرهای مختلف اتفاق میوفته.

(مثلا شما با یه کامپایلر تست میکنین ۱0۰% جواب میده اما، استادتون با یه کامپایلر دیگه تست میکنه و برنامه error میده و اجرا نمیشه! استام نمرتو نمیده!!)

زبان C این مشکلاتو داره. راه حلشو نمیدونم، فکرم نکنم راهی داشته باشه.

پاسخ داده شده ۱۲:۰۴ - ۱۳۹۰/۰۴/۱۸ Cina۷،۱۷۲۱۱۴۴۱
انصراف
۰

این به این علته که کامپایلرهای مختلف کتابخانه های مختلفی رو استفاده میکنن. همچنین کامپایلرهای مختلف تحت سیستم عامل های مختلف هم به صورت متفاوت عمل میکنند.
به طور کلی پیشنهاد من استفاده از یک کامپایلر استاندارد و به روز مثل GCC هستش که در سیستم های مختلف موجوده.

پاسخ داده شده ۱۳:۵۰ - ۱۳۹۰/۰۴/۱۸ 2hamed۴،۳۸۷۲۱۲
انصراف
انصراف