Salut les gars,
J'essaie d'afficher le temps d'execution de mon programme. Pour ce faire j'ai utilisé la function difftime au sein de ma "main" de la façon suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
 
#include <iostream>
#include <cstdlib>
#include <ctime>
 
#include "./Game/Game.h"
#include "./Exceptions/GameOverException.h"
 
time_t aStart, aEnd; ///@@@ time performance
 
using namespace std;
 
int main(int argc, char *argv[])
{
  srand (time(NULL));
 
  Game * aGame = new Game(); //setting of game by default
 
try
{
 
	time (&aStart); ///@@@ time performance
 
  	aGame->run();
 
 
}
 
catch (GameOverException & aGameOverException)
{
	std::cout<<aGameOverException.getErrorMessage()<<endl;
	delete aGame;
 
	time(&aEnd);///@@@ time performance
	//std::cout<<difftime(aEnd, aStart)<<" sg"<<std::endl;///@@@ time performance
	printf ("The process takes %.4lf seconds \n",difftime(aEnd, aStart));
}
 
  return EXIT_SUCCESS;
}
Sachant que le program doit s'arreter dans tous les cas (bonne et mauvaise execution) par le lancement d'une exception qui va être rammassée dans le bloc "catch".

Le resultat qui s'affiches est toujours "0.0000 sg".

Comment faire ?

Merci !!