Thibaut a écrit :
C'est ça qui nous énerve !
Parceque vous avez conçu ce format en pensant cette unique chose, en croyant que comme vous êtes les maîtres, forcément cette seule chose est la seule valable, maintenant que quelqu'un (TiMad) a trouvé une utilisation tout aussi intéressante, vous nous faites chier.
Lamentable.
On sait très bien qu'on peut utiliser les DLLs comme ça, pas besoin de nous le montrer. La preuve:
il y a écrit dans notre documentation qu'il ne faut pas le faire et pourquoi il ne faut pas le faire!
>jackiechan, Pim89
Arrêtez cette discussion absurde:
XLib version DLL est un abus de notre système de DLLs, et il n'y a rien à discuter là-dessus.
jackiechan a écrit :
En y réfléchissant un peu, Kévin, c'est un super compromis, la version DLL :
on met dans la DLL les fonctions qui sont utilisées par à peu près touts les progs (Xon, Xoff, XnewGPlan, XGPlanc, XJoyPad, ...) et en statique les fonctions plus différentes que tout le monde n'utilisera pas forcément.
Ce n'est pas un "super compromis", c'est une solution bâtarde qui empire le problème (parce qu'il reste un petit bout de 8 KO en DLL - ridicule!).
Enfin, ça n'est avantageux que si le code nécessaire pour prendre en compte la DLL n'est pas plus gros que la DLL elle-même.
Plus précisément: ça n'est avantageux que si le code nécessaire pour prendre en compte la DLL n'est pas plus gros que les functions vraiment utilisées de la DLL. Parce que les fonctions que TiMad prétend être indispensables sont loins de l'être! Et ce n'est pas vraiment le cas ici. Si la différence de taille existe, elle est négligeable (2 ou 3 KO sur un jeu de 32 KO ou plus, c'est négligeable).
Puis c'est vrai que c'est un peu chiant, ça fait un fichier de plus...
Un fichier de plus pour 8 KO, c'est
très chiant.
Mais ça peut vraiment être pratique : ça donne les avantages de la prog kernel (lib dynamique,
Je n'ai jamais retenu ceci comme un avantage. Les librairies dynamiques nécessaires pour lancer un programme sont un inconvénient. Il faut penser à l'utilisateur!
donc pas besoin de recopier des fonctions dans chaque prog, donc pas de perte de mémoire due à ça)
Mais perte de mémoire dûe aux fonctions inutilisées et au code de chargement de la DLL. Et il ne faut pas non plus oublier que le code en DLL ne disparaît pas "magiquement", mais qu'il est juste dans un fichier différent, donc on n'a rien gagné.
Et puis, l'appel de fonctions en une DLL
_nostub est plus lent qu'en une librairie statique. (Notre système de DLLs n'est
pas du tout fait pour les fonctions exécutées des milliers de fois par seconde!)
et ceux du _nostub (pas de kernel à installer ni de librairies, juste une DLL,
Bel oxymore...
Une DLL est une librairie!
Donc on a déjà perdu presque tous les avantages du
_nostub.
et seules les fonctions que tu utilises (en dehors de celles de la DLL)
Justement... "
en dehors de celles de la DLL" ...
seront recopiée, donc on ne perd pas non plus de mémoire....)
Si, pour les fonctions inutilisées dans la DLL. Et pour le code de chargement de 1 ou 2 KO.
Pim89 a écrit :
Kevin > pour infos, en utilisant très PEU de fonctions de la statique, je pers 5.5 Ko par rapport au prog utilisant la DLL
alors quand j'utiliserai le Joypad ect, mes progs seront considérablement moins gros en format DLL
qu'en static.
N'importe quoi. La DLL fait 8 KO, donc si tu utilises l'équivalent en statique,
au maximum, tu te retrouveras avec 8 KO de plus. Et avec le code de chargement (1 ou 2 KO) en moins. Donc ça te fait 6 ou 7 KO de plus en statique qu'avec la DLL. Et donc en total, en comptant la taille de la DLL (qui ne disparait pas "magiquement", je rappelle), tu as gagné 1 ou 2 KO (la taille du code de chargement) en passant en statique.
Et quand on a pas envie de perdre 5.5 Ko (ou +) par prog Xlib (car c du gachi pur et dur de tout rajouter à chaque prog), et ben on préfère largement la DLL 
Qui te dit que tout le monde a plusieurs programmes faits avec
XLib sur sa calculatrice? Vu qu'il n'y a pas beaucoup de programmeurs disponibles pour utiliser une librairie qui abuse le système de DLLs de TIGCC, ce n'est pas très probable.
tous les avantages du kernel en _nostub 
Tous les inconvénients du kernel en
_nostub. Et plus aucun des avantages du
_nostub. Ce n'est
plus du
_nostub, ce que vous faites.