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 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
#define LIB1_ENABLE
#define LIB2_ENABLE
library2.c
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
#include "libConfig.h"
#ifdef  LIB2_ENABLE
#include "library2.h"
// ... code de la library ...
#endif
library1.c
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
 
#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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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.