Bonjour,

Si je fais ca, dans une classe ou en fonction:
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
void fonction(char* chaine)
{
#ifdef DEBUG
cout << chaine;
#endif
}
 
// ou bien dans une classe
void CMaClasse::fonction(char* chaine)
{
#ifdef DEBUG
cout << chaine;
#endif
}
 
// Dans mon code
fonction();
pMaClasse->fonction();
Et que je compile sans definir le DEBUG, en release par exemple. Est-ce que le compilo detecte que la fonction ne fait rien ou pas? Car c'est bien une optimisation de ne pas faire l'appel!

car techniquement
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
#undef DEBUG
fonction();
// revient a =>
/* du vide */
Alors

PS: je pense que l'on peut compiler en mode asm et regarder si oui ou non on a l'appel, mais je sais pas faire