Bonjour,
Si je fais ca, dans une classe ou en 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!
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();
car techniquement
Alors
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 #undef DEBUG fonction(); // revient a => /* du vide */
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![]()
Partager