SOGAME
Messages postés1Date d'inscriptionjeudi 29 décembre 2005StatutMembreDernière intervention29 décembre 2005 29 déc. 2005 à 16:02
C trop dure !!! je lache l'affaire
Gendal67
Messages postés627Date d'inscriptionmercredi 16 juin 2004StatutMembreDernière intervention24 juillet 20112 15 nov. 2005 à 00:07
Ah oui, j'avais oublié le fait que lors d'un appel par valeur "l'objet" est re-copié...oui donc le pointeur est mieux...
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 14 nov. 2005 à 23:12
A la question pourquoi passer un pointeur, on reprend:
WNDCLASSEX a 12 champs, si RegisterClass ne prenait pas un pointeur sur la structure, faudrait qu'il demande 12 params donc pour 1 appel RegisterClass on empilerait 12 * 4 = 48 octets sur la pile, ce qui est couteux en temps, alors que mettre juste 1 param (4 octets) est bien plus rapide.
Bien clair ?
Gendal67
Messages postés627Date d'inscriptionmercredi 16 juin 2004StatutMembreDernière intervention24 juillet 20112 14 nov. 2005 à 23:00
BruNews> rien callé, je n'ai pas lu le code...je suis juste resté curieux sur la modification ou non du WNDCLASS par RegisterClass...
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 14 nov. 2005 à 22:59
eh pardi, c'est tout de même plus rapide de mettre 1 fois 4 octets sur la pile que nbrChamps * 4.
C'est d'ailleurs toujours ainsi qu'on passe une structure.
Gendal67
Messages postés627Date d'inscriptionmercredi 16 juin 2004StatutMembreDernière intervention24 juillet 20112 14 nov. 2005 à 22:45
BruNews> ok, je veux bien te croire, mais pourquoi faut-il alors passer un pointeur sur un objet de type WNDCLASS à RegisterClass ?
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 7 nov. 2005 à 16:32
Salut,
pas le temps de tout regarder pour l'instant alors juste un truc:
quand tu enregistres plusieurs classes de fenêtre à la suite, inutile de remettre une affectation identique sur un champ de ta WNDCLASS, RegisterClass ne fait que les lire, il ne modifie pas.
29 déc. 2005 à 16:02
15 nov. 2005 à 00:07
14 nov. 2005 à 23:12
WNDCLASSEX a 12 champs, si RegisterClass ne prenait pas un pointeur sur la structure, faudrait qu'il demande 12 params donc pour 1 appel RegisterClass on empilerait 12 * 4 = 48 octets sur la pile, ce qui est couteux en temps, alors que mettre juste 1 param (4 octets) est bien plus rapide.
Bien clair ?
14 nov. 2005 à 23:00
14 nov. 2005 à 22:59
C'est d'ailleurs toujours ainsi qu'on passe une structure.
14 nov. 2005 à 22:45
7 nov. 2005 à 16:32
pas le temps de tout regarder pour l'instant alors juste un truc:
quand tu enregistres plusieurs classes de fenêtre à la suite, inutile de remettre une affectation identique sur un champ de ta WNDCLASS, RegisterClass ne fait que les lire, il ne modifie pas.
Bonne continuation.