Procédure : Question pour Fred
-
- Messages : 4312
- Inscription : mer. 28/janv./2004 20:58
- Localisation : Clermont ferrand OU Olsztyn
- Contact :
Procédure : Question pour Fred
Salut,
Une grande question qui me titille le cortex depuis un fameux moment, est-ce qu'une procedure qui n'est pas utilisée dans le code d'un programme est compilé dans l'executable.
Mon but est de faire un fichier "include" comportant toutes les procedures contenu dans ma bibliothèque de code de manière à éviter d'avoir à les insérer à chaque nouveau programme.
D'ou ma question car si les procedures non utilisées sont tout de même compilées, mon executable va avoir une facheuse tendance à l'embontpoint.
Merci d'avance
Et vive la langue française et son vocabulaire immense qui m'a permit de vous relater mon problème avec dextérité et brio.
(comme tout cela est bien dit , je m'épate moi même)
Une grande question qui me titille le cortex depuis un fameux moment, est-ce qu'une procedure qui n'est pas utilisée dans le code d'un programme est compilé dans l'executable.
Mon but est de faire un fichier "include" comportant toutes les procedures contenu dans ma bibliothèque de code de manière à éviter d'avoir à les insérer à chaque nouveau programme.
D'ou ma question car si les procedures non utilisées sont tout de même compilées, mon executable va avoir une facheuse tendance à l'embontpoint.
Merci d'avance
Et vive la langue française et son vocabulaire immense qui m'a permit de vous relater mon problème avec dextérité et brio.
(comme tout cela est bien dit , je m'épate moi même)
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?
[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Salut Régis,
excuse, je répond partiellement avant Fred.
Pourquoi tu n'utilise pas le prog de El_Choni TailBite pour créer une librairie. C'est fonctionnel (sauf un bug mineure qui ne nuit pas au fonctionnement normal) et là seul les fonctions utilisées seront intégrées à l'exe. El_Choni travaille sur la doc pour utiliser TailBite.
excuse, je répond partiellement avant Fred.
Pourquoi tu n'utilise pas le prog de El_Choni TailBite pour créer une librairie. C'est fonctionnel (sauf un bug mineure qui ne nuit pas au fonctionnement normal) et là seul les fonctions utilisées seront intégrées à l'exe. El_Choni travaille sur la doc pour utiliser TailBite.
-
- Messages : 4312
- Inscription : mer. 28/janv./2004 20:58
- Localisation : Clermont ferrand OU Olsztyn
- Contact :
ben, ça fait des librairie PB, c ça ?, à voir ...
peut-être un petit manque de souplesse car je suis toujours en train de tripoter mes sources pour les améliorer. vais attendre la réponse de Fred pour savoir à quoi m'en tenir
peut-être un petit manque de souplesse car je suis toujours en train de tripoter mes sources pour les améliorer. vais attendre la réponse de Fred pour savoir à quoi m'en tenir
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?
[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Pas du tout,peut-être un petit manque de souplesse car je suis toujours en train de tripoter mes sources pour les améliorer. vais attendre la réponse de Fred pour savoir à quoi m'en tenir
tu recompile avec TB, ca prend 10 seconde et c'est tout, la nouvelle librairie est faite. El_Choni a fait du bon boulot.
Bon,
quelques explication s'imposent car il n'a pas fait la doc je crois.
voir les 11 pages du forum anglais http://purebasic.myforums.net/viewtopic ... 99&start=0
Vous faites comme d'habitude, avec vos procédures.
Il faut absolument que vos variables globales soient à l'intérieur de la première procédure (ou peut-être une autre mais j'ai pas fait de tests).
Les fonctions que vous appellerez depuis PB doivent commencer par
proceduredll
et celle que vous ne pourrez appeler depuis PB par procedure
Il y a également 2 procédures indispensables lorsque l'on fait une librairie, c'est la procédure qui va initialiser nos fonctions et lorsque l'on quitte, la procédure qui va restaurer les paramètres, libérer la mémoire etc.
Fred a prévu de faire cela et avec TB vou mettez ces suffixes:
"_Init" and "_End"
donc procedure_Init et procedure_End, ces deux procédures n'acceptent pas de paramètres et vous ne pouvez pas les appeller.
Par exemple, si pour votre librairie vous avez besoin d'une liste chainée, vous la créez dans la procedure --> procedure_Init et vous la détruisez dans la procedure --> procedure_End et c'est PB qui appelle ces 2 procedure.
Dans le répertoire de TB, il y a des exemples.
Il y a un bug et qui plante TB si vous mettez un point virgule devant le mot procedure pour la mettre en commentaire. Je l'ai indiqué à El_Choni.
Utilisez TB manager qui est la fenêtre de gestion pour tout faire. Le drag and drop est supporté par TB.
quelques explication s'imposent car il n'a pas fait la doc je crois.
voir les 11 pages du forum anglais http://purebasic.myforums.net/viewtopic ... 99&start=0
Vous faites comme d'habitude, avec vos procédures.
Il faut absolument que vos variables globales soient à l'intérieur de la première procédure (ou peut-être une autre mais j'ai pas fait de tests).
Les fonctions que vous appellerez depuis PB doivent commencer par
proceduredll
et celle que vous ne pourrez appeler depuis PB par procedure
Il y a également 2 procédures indispensables lorsque l'on fait une librairie, c'est la procédure qui va initialiser nos fonctions et lorsque l'on quitte, la procédure qui va restaurer les paramètres, libérer la mémoire etc.
Fred a prévu de faire cela et avec TB vou mettez ces suffixes:
"_Init" and "_End"
donc procedure_Init et procedure_End, ces deux procédures n'acceptent pas de paramètres et vous ne pouvez pas les appeller.
Par exemple, si pour votre librairie vous avez besoin d'une liste chainée, vous la créez dans la procedure --> procedure_Init et vous la détruisez dans la procedure --> procedure_End et c'est PB qui appelle ces 2 procedure.
Dans le répertoire de TB, il y a des exemples.
Il y a un bug et qui plante TB si vous mettez un point virgule devant le mot procedure pour la mettre en commentaire. Je l'ai indiqué à El_Choni.
Utilisez TB manager qui est la fenêtre de gestion pour tout faire. Le drag and drop est supporté par TB.
Dernière modification par Anonyme2 le dim. 08/févr./2004 15:23, modifié 1 fois.
merci Denis , ces explications étaient plus que nécessaires
bon j'y retourne , maintenant que j'en sais plus , je vais peut-être arrivé à faire quelque chose .
ça me semble super tout ça en tout cas.Je vais enfin pouvoir coller toutes mes fonctions 3D dans une lib , marre de les recopier dans tous mes progs
bon j'y retourne , maintenant que j'en sais plus , je vais peut-être arrivé à faire quelque chose .
ça me semble super tout ça en tout cas.Je vais enfin pouvoir coller toutes mes fonctions 3D dans une lib , marre de les recopier dans tous mes progs
Yahouu ça marche !!!
EXCELLENT
C'est génial ce prog , je vais refaire toutes mes procédures .
Juste une question , quelqu'un a déjà fait des tests de vitesse ?
en comparant un code avec un seul source comportant toutes les procédures , et le même code mais qui cette fois-ci appelle les procédures misent en librairies par ce programme ?
EXCELLENT
C'est génial ce prog , je vais refaire toutes mes procédures .
Juste une question , quelqu'un a déjà fait des tests de vitesse ?
en comparant un code avec un seul source comportant toutes les procédures , et le même code mais qui cette fois-ci appelle les procédures misent en librairies par ce programme ?
Bien que les libs que je vais faire ne seront pas dignes d'être distribuées , je serais quand même intéressé pour faire une doc , histoire de m'obliger à m'organiser un peu ( c'est un voeu pieux )
Je me souviens avoir vu sur un forum , un lien pour un utilitaire qui permet de faire une aide dans le format chm, quelqu'un pourrait me dire où je peux trouver ça ? ou s'il y a quelque part un outil sympa pour faire une doc ?
Je me souviens avoir vu sur un forum , un lien pour un utilitaire qui permet de faire une aide dans le format chm, quelqu'un pourrait me dire où je peux trouver ça ? ou s'il y a quelque part un outil sympa pour faire une doc ?
Voici le lien direct sur le site de Microsoft, pour l'utilitaire gratuit (si si) de MS
http://go.microsoft.com/fwlink/?LinkId=14498
et la page ou il y des explications
http://msdn.microsoft.com/library/defau ... nloads.asp
Heis Spiter te donnera le lien pour la traduc en francais qu'il ont fait.
http://go.microsoft.com/fwlink/?LinkId=14498
et la page ou il y des explications
http://msdn.microsoft.com/library/defau ... nloads.asp
Heis Spiter te donnera le lien pour la traduc en francais qu'il ont fait.
Il y a aussi un utilitaire qui permet de faire des fichiers d'aide au format chm.
Ca s'appelle Web2HTMLHelp Compiler.
C'est un prog qui crée des fichiers d'aide .chm, à partir de fichiers html.
Il faut avoir installé HtmlHelpWorkShop de microsoft, mais ensuite, il suffit de donner la page d'index de ton aide, divers renseignements comme la taille de le fenêtre d'aide qu tu désire, et tu lances, et ton fichier est terminé en quelques secondes.
Très puissant, ce truc. !
Chris
Ca s'appelle Web2HTMLHelp Compiler.
C'est un prog qui crée des fichiers d'aide .chm, à partir de fichiers html.
Il faut avoir installé HtmlHelpWorkShop de microsoft, mais ensuite, il suffit de donner la page d'index de ton aide, divers renseignements comme la taille de le fenêtre d'aide qu tu désire, et tu lances, et ton fichier est terminé en quelques secondes.
Très puissant, ce truc. !
Chris