Forum Graph100

Forum Graph100

Vous n'êtes pas identifié.

Annonce

Bonjour et bienvenue sur le nouveau Forum Graph100 !
L'intégralité des données a été transférée sur un forum PunBB et tout les comptes sont fonctionnels avec le même nom d'utilisateur et mot de passe.
Un wiki est aussi disponible avec le même compte ! N'oubliez pas de remettre votre avatar, bon surf !
Pour plus d'informations, consultez ce post.

#1 24 Dec 2003 06:52:39

Azor
Le Coté Obscur De La G100
Lieu: glop glop!
Date d'inscription: 04 May 2002
Messages: 5479
Site web

Proposition d' une convention pour les librairies...

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!


Anciennement X-thunder28
Cats shall rule teh world!

Hors ligne

 

#2 24 Dec 2003 08:06:52

dada66
Membre Communauté Graph100
Lieu: Perpignan
Date d'inscription: 09 Oct 2002
Messages: 1033

Re: Proposition d' une convention pour les librairies...

personnellement c ce que j'utilise aussi mon mes libs!


Flash100, F100Console, GComm, ... : http://flash100.free.fr/xoops

Hors ligne

 

#3 24 Dec 2003 09:22:21

Julien
C++iste convaincu
Lieu: Waterloo (Be)
Date d'inscription: 29 May 2002
Messages: 1456
Site web

Re: Proposition d' une convention pour les librairies...

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 wink)...

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...


Pensez à surveiller mes releases wink

Hors ligne

 

#4 24 Dec 2003 09:35:04

Julien
C++iste convaincu
Lieu: Waterloo (Be)
Date d'inscription: 29 May 2002
Messages: 1456
Site web

Re: Proposition d' une convention pour les librairies...

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 wink


Pensez à surveiller mes releases wink

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr