-
[c++] difftime
Kod:
#include <time.h>
#include <iostream>
#include <windows.h>
using namespace std;
int main ()
{
time_t t = time(0);
struct tm * then = localtime( & t );
cout << (then->tm_year + 1900) << '-'
<< (then->tm_mon + 1) << '-'
<< then->tm_mday << " "
<< then->tm_hour << ":"
<< then->tm_min << ":"
<< then->tm_sec << endl;
Sleep(4000);
time_t t2 = time(0);
struct tm * now = localtime( &t2 );
cout << (now->tm_year + 1900) << '-'
<< (now->tm_mon + 1) << '-'
<< now->tm_mday << " "
<< now->tm_hour << ":"
<< now->tm_min << ":"
<< now->tm_sec << endl;
double gone = difftime(t2,t);
cout << gone << " seconds are gone forever." << endl;
return 0;
}
ktoś ma jakiś pomysł dlaczego zamiast otrzymania '4 seconds are gone forever' dostaję wyniki w stylu '1.40104e+009 are gone forever'?
-
Kompilując tym, co jest w VS2010 daje 4 sekundy.
-
hmmmmm, czego w takim razie moze to byc wina? srodowiska?
-
-
Cytuj:
Absherr napisał
Jakaś optymalizacja? ;d
w sumie o tym nie pomyślałem, bardzo możliwe, że agresywna optymalizacja coś psuje
-
-
g++ z -O2 daje radę, z -O3 i expensive zaokrągla do 5 nawet jak jest minimalnie ponad 4
edit: dodałem optymalizację pod core2 i nowsze (celeron sandy to jednak nie i7 :/) i dalej śmiga
-
-
odpaliłem qt i skompilowało sie poprawnie.
chyba czas wyjebac codeblocksa ;_;
-
u mnie na c::b śmiga
ale to bardziej zależy od kompilatora, mingw dołączony do najnowszej paczki i jest ok