Bonjour,
Voilà plus une question de "conception"... Je vais essayer d'être le plus clair possible.
Je dois utiliser/adapter un fonction C qui n'est pas en "objet" et je n'en ai pas l'habitude...
Voilà, mon fichier "fonction.c" ne contient une seule fonction qui est exportée en dll, afin d'être utilisée dans plusieurs programmes.
Telle qu'elle est programmée actuellement, cette fonction prend d'un grand (>10) nombre d'arguments qui sont des tableaux de double à 2 dimensions (on a un type Matrix). En fait, pas mal de ces arguments sont passés par référence et sont modifiés dans la fonction, mais pas forcément utilisés en dehors par le programme appelant.
Dans un premier temps, il se trouve que j'ai passé ces tableaux en variables locales, mais comme cette fonction doit être appelée très très souvent, on avait perdu en vitesse d'exécution (on est presque en temps réel).
Du coup, je me demande ce qu'il vaut mieux : mettre les tableaux en variables globales, comme ça, posés avant la fonction et faire une fonction init() de la dll ? OU alors passer les tableaux en arguments à chaque itération comme c'était avant ?
A votre avis, qu'est-ce qui est le moins moche/lent/sûr ? Je n'arrive pas à me décider.
Merci de vos réponses
Partager