Architecture d'un projet : bonnes pratiques
Bonjour,
J'ai un fichier library1.c qui contient des fonctions.
Ce fichier appelle optionnellement des fonctions qui sont dans un fichier library2.c.
J'ai un fichier libConfig.h qui contient la liste des libraries à activer, ce fichier est inclu dans mes deux fichiers .c :
libConfig.h
Code:
1 2 3
|
#define LIB1_ENABLE
#define LIB2_ENABLE |
library2.c
Code:
1 2 3 4 5 6
|
#include "libConfig.h"
#ifdef LIB2_ENABLE
#include "library2.h"
// ... code de la library ...
#endif |
library1.c
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
#include "libConfig.h"
#ifdef LIB1_ENABLE
#include "library1.h"
// ... code de la library ...
void lib1_func(void){
// ...
}
#ifdef LIB2_ENABLE
#include "library2.h"
// ... code optionnel appelant utilisant library2 ...
#endif
#endif |
library1.h
Code:
1 2 3 4 5 6 7 8
|
#ifndef LIB1_H
#define LIB1_H
#ifdef LIB1_ENABLE
// ...déclaration des fonctions/variables extern ...
#endif
#endif |
main.c
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
#include "libConfig.h"
#ifdef LIB1_ENABLE
#include "library1.h"
#endif
void main(void){
#ifdef LIB1_ENABLE
lib1_func();
#endif
} |
Est-ce que j'utilise la bonne méthode ?
=> Je me pose la question car mon projet a pas mal de fichiers/librairies et l'IDE a du mal à gérer correctement la coloration syntaxique (du code actif est parfait grisé de manière aléatoire : en lançant une compilation ou en réouvrant le projet, des fois, ça remet le code en non grisé).
=> Par contre, ça compile correctement et le programme fonctionne comme il le devrait.
=> Peut-être que c'est seulement l'IDE qui est bugué (MPLAB-X => c'est un IDE basé sur NetBean).
Merci d'avance.