Vous n'êtes pas identifié.
Pages: 1
D' abbord faut savoir que lorsque TC3 rencontre une fonction, il la compile, qu' elle soit ou non utilisée dans le programme!
D' ou quand on recherche des octets pour faire tourner le programme, on doit virer ces fonctions inutiles... mais dans les libs actuelles, il n' y a pas d' autre moyen que de supprimer ou mettre en commentaires ces fonctions ... pas aisé quand plusieurs programmes utilisent ces fonctions... et pas les meme en plus...
Donc wala personnellement ça me gonfle de mettre en commentaires un tas de fonctions alors que j' en utilise que quelques unes dans mes prog et pour certaines librairies, tels DB-Lib, qui inclue tellement de fonctions que c' est pratiquement obligatoire de ne pas en utiliser... ( au passage j' ai fait ma version convention de cette librairie, mieux organisée à mon gout, que celui qui la désire me contacte sur msn!), alors je pense que les "lib makers" devraient faire comme ceci:
[Fichier lib.c]
#ifdef FONX_DRAW
void fonx_draw(char x, char y)
{
bla(x);
bla2(y);
blabla();
}
#ifend
[Fichier lib.h]
#include "lib.c"
void fonx_draw(char x, char y);
[Fichier personalisable]
#include "lib.h"
// On utilise la fonction fonx_draw
// donc on l' inclue lors de la compilation
#define FONX_DRAW
Perso je fait comme ça, et je m' y retrouve mieux, et pas besoin de modifier à chaque fois les librairies!
Suffit juste d' un fichier perso et ça roule!
Hors ligne
personnellement c ce que j'utilise aussi mon mes libs!
Hors ligne
Je suis d'accord, mais pas avec ca:
[Fichier lib.h]
#include "lib.c"
void fonx_draw(char x, char y);
En général qd on utilise une lib c qu'on a besoin de ces fonctions à plusieurs endroits... donc y'a plusieurs fichiers qui vont devoir inclure le header, du coup ca va compiler plusieurs fois le .c et le linker appréciera pas.
Personnellement je préfere mettre en commentaires les fonctions inutilisées (tres facile qd on a un éditeur qui a un bouton pour ca )...
Sinon il n'y a aucun mal à déclarer des fonctions non definies, à condition bien sur de ne pas les utiliser, ou de compiler des fichiers vides; donc je pense qu'il suffit simplement de mettre un define pour chaque fonction de la lib et de mettre dans le header une liste de tous ces define. Il restera alors à mettre en commentaires le ou les define correspondants aux fonctions inutiles et à garder les autres... ca donnerait donc:
[fichier lib.c]
#ifdef FONX1
void fonx1()
{
...
}
#endif
#ifdef FONX2
void fonx2()
{
...
}
#endif
...
[fichier lib.h]
void fonx1();
void fonx2();
...
#define FONX1
#define FONX2 // on met en commentaires les fonx inutiles
...
Et comme ca y'a pas besoin de fichier perso ou quoi...
Hors ligne
Oui au fait à la réflexion moi je duplique toujours les fichiers lib avec mes projets plutot que d'en laisser une seule version dans les include... Donc c'est pour ca que je proposais une petite variante, mais ca dépend de comment ces lib sont utilisées...
Mais en fait si on veut profiter de tous les avantages d'une véritable librairie, faudrait penser à les présenter vraiment comme un lib, c'est-à-dire dans un fichier .lib, dans lequel le compilo ira chercher ce dont il a besoin... Ce qu'on fait c'est pas vraiment des librairies, c des fonctions toutes faites à intégrer dans son code, donc c normal si c pas aussi pratique
Hors ligne
Pages: 1