Bonjour à tous,
Je me tourne vers vous aujourd'hui car dans le cadre de mon apprentissage, je dois développer une application de benchmark. L'objectif ce serait de comparer la rapidité d'exécution d'algorithmes de chiffrement (symétrique, asymétrique, hash ...) par des cartes électroniques disposant d'une même famille de microcontrôleur. Pour se faire, on dispose de plusieurs librairies : une développée en interne de mon entreprise, d'autres telles que : Open SSL par exemple.
Je suis en train de réfléchir à l'architecture de mon programme et je me demandais si il existait un moyen d'appeler successivement des fonctions ayant pratiquement le même nom et les mêmes arguments. Un exemple pour appuyer mes propos :
--> Lancement du test
--> Exécution de l'algorithme "Sha_1_Init" puis "Sha_1_Append" et enfin "Sha_1_Finish"
--> Arrêt du test
--> Lancement d'un nouveau test
--> Exécution de l'algorithme "Sha_256_Init" puis "Sha_256_Append" et enfin "Sha_256_Finish"
--> Arrêt du test
De part cet exemple, j'aimerai faire une boucle qui récupère différentes valeurs [1,256,512]
Puis, l'exécution de chaque step "Init", "Append", "Finish" par appel des fonctions tout en modifiant la valeur au moyen de la boucle juste au-dessus.
Exemple:
Cette structure d'appel de fonctions est aberrante pour du C, limite on se rapprocherait plus du Python mais je sollicite vos avis afin de savoir si il existe une manière d'appeler des fonctions dynamiquement en C.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 L[2] = {1, 256, 512}; int i; for(i = 0; i < sizeof(L); i++) { Sha_L[i]_Init(arg1, arg2, ...); Sha_L[i]_Append(arg1, arg2, ..); Sha_L[i]_Finish(arg1, arg2, ...); }
Je vous remercie d'avance pour vos réponses![]()
Partager