Task #446
closed
Added by paul leroy over 9 years ago.
Updated over 9 years ago.
Description
Quelques remarques suite à mes premiers essais d'intégration des nouvelles fonctions de calcul dans la R3:
Les déclarations suivantes doivent être dans le .h, pas dans le .c
void init_k_coefficients_f0( float *k_coeff_intercalib, unsigned char nb_binscompressed_matrix );
void init_k_coefficients_f1( float *k_coeff_intercalib, unsigned char nb_binscompressed_matrix );
void init_k_coefficients_f2( float *k_coeff_intercalib, unsigned char nb_binscompressed_matrix );
Dans ton switch/case, il faut utiliser des constantes non numériques définies en utilisant des #define, c'est une règle qui est vérifiée par l'outil de vérification statique utilisé par William Recart.
Eviter au maximum de laisser des printf dans les codes définitif. Possibilité d'utiliser des macros:
#ifdef PRINT_TCH
#define PRINTF printf(x);
#define PRINTF1 printf(x,y);
#define PRINTF2 printf(x,y,z);
#else
#define PRINTF ;
#define PRINTF1 ;
#define PRINTF2 ;
#endif
Si la constante PRINT_TCH n'est pas définie, aucun message n'apparaît.
Autre point important: finir les messages par "\n"
- Assignee changed from thomas chust to paul leroy
- Status changed from New to Feedback
- Assignee changed from paul leroy to thomas chust
Il faudrait inclure basic_parameters.h dans basic_parameters.c sinon ça fait des warning à la compilation.
#include <basic_parameters.h>
- Assignee changed from thomas chust to paul leroy
J'ai fait un nouveau push => version 2.2
En fait, me semble t-il, pas besoin. Dans basic_parameters.c il fallait simplement définir la fonction init_k_coefficients après les fonctions init_k_coefficients_f0, _f1 et _f2 ... Du coup cela permet aussi de supprimer les déclarations
void init_k_coefficients_f0( float *k_coeff_intercalib, unsigned char nb_binscompressed_matrix );
void init_k_coefficients_f1( float *k_coeff_intercalib, unsigned char nb_binscompressed_matrix );
void init_k_coefficients_f2( float *k_coeff_intercalib, unsigned char nb_binscompressed_matrix );
dans le .h
D'accord ?
- Assignee changed from paul leroy to thomas chust
Ca marche si la fonction n'est pas destinée à être utilisée ailleurs que dans ton module basic_parameters.c.
Je ne sais pas si le vérificateur statique va tiquer en voyant une fonction non déclarée dans un .h. Dans le doute, je préfèrerais que les déclaration soit dans basic_parameters.h et la description dans basic_parameters.c.
- Assignee changed from thomas chust to paul leroy
- Status changed from Feedback to Closed
Also available in: Atom
PDF