Bonjour,
Je me suis rendu compte que ma fonction s'éxécutait bien plus rapidement lorsque le paramètre indx était connu avant la compilation.
Puisque ce paramètre ne peut prendre que 8 valeurs distinctinctes, j'ai décidé de créer 8 sous fonctions correspondantes et de remplacer ma fonction par :
les fonction_8... ont été créées en prenant le code de la fonction de départ et en remplaçant en dur le paramètre indx par sa valeur.
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 inline void fonction(......., int indx) { switch (indx) { case 8:fonction_8(.......);break; case 7:fonction_7(.......);break; case 6:fonction_6(.......);break; case 5:fonction_5(.......);break; case 4:fonction_4(.......);break; case 3:fonction_3(.......);break; case 2:fonction_2(.......);break; case 1:fonction_1(.......);break; default:;break; } }
Ca marche bien, mais le hic c'est que je me retrouve maintenant avec 8 fois le même code.
Est-il possible de d'utiliser une macro pour définir les 8 fonctions d'un coup?
Merci.
Partager