Kevin, maître du monde, modèle du genre.
les autres, vous (on) faites de la merde.
vive les programmes compressés et le pstarter ttstart/SuperStarter standard!
Pourquoi pas laisser le binaire où il est? Un seul dossier pour le projet complet.
Kevin Kofler (./179) :
Pas possible tant qu'il n'y a pas les groupes de projets. Il change si souvent que ça, le loader? Et puispour le loader perso, vive les programmes compressés et le pstarter standard!
Kevin Kofler (./179) :
Pour la date, tu peux utiliser __DATE__ dans un .c (cf. grayversion.c dans les sources de TIGCCLIB pour un exemple). Pour le reste, c'est plus propre de mettre ça directement dans le .h en question.
Kevin Kofler (./179) :
Il y a sans doute une meilleure solution pour ça. Par exemple, tu pourrais traîter include "author" et include "version" spécialement dans ton assembleur, ça éviterait de devoir autogénérer ces fichiers à chaque fois.
Kevin Kofler (./179) :
Beurk le format de packs archive.(Non supporté par TIGCC.) Et puis il change si souvent que ça, le commentaire?
Kevin Kofler (./179) :
C'est possible avec le post-processing de l'EDI. Maispour ton système de pack archive, surtout le fait que asmain n'est pas compressé et gaspille donc de l'archive.
Kevin Kofler (./179) :Pourquoi pas laisser le binaire où il est? Un seul dossier pour le projet complet.
Kevin Kofler (./179) :
Inutile. (Et il te crée des *~, KTIGCC? Si c'est le cas, il faudra que je corrige ça...)
Folco (./182) :
Le loader change pas souvent effectivement, mais j'aime bien l'avoir sous la main. Surtout que plusieurs projets dans le même répertoire, j'aime pas.
Quant à la version, c'est demandé par le standard des pack archives, donc je respecte.
Le commentaire a également son format spécifique dans le pack archive, et je le respecte. Encore une fois, j'ai besoin que ce soit une string ajoutée au pack, et ça TIGCC sait pas faire. Je suis donc, vu l'insuffisance de TIGCC, obligé de le faire à la main.
Version change, c'est chiant de devoir parcourir le source pour savoir où il est. Dans un fichier ) part, c'est mille fois plus simple. Pourquoi pas me laisse faire simple ?
Et gagne plusieurs ko de RAM pour beaucoup moins d'archive perdue.
Et rien n'empêche à l'utilisateure de compresser, ça marchera pareil hein, suffit de virer un point d'exclamation et c'est parti.
Parce que j'ai plus de 35 fichiers source pour le moment et c'est pas fini.
Non t'inquiète, j'utilise ça pour virer les fichiers temporaires de Kate/KWrite et Emacs
Et c'est une erreur de ne supporter que PedroM. Vive les logiciels portables!
=> Ne sert plus si tu passes à l'EDI.
Donc il vaut mieux économiser l'archive que la RAM.
Moi, je distribue toujours mes binaires dans le même dossier que les sources, les utilisateurs avec un minimum de cerveau (ou qui ont lu le lisezmoi, qui pour mes programmes contient même les informations évidentes) s'en sortent très bien.
Kevin Kofler (./183) :
Et c'est une erreur de ne supporter que PedroM. Vive les logiciels portables!
Kevin Kofler (./183) :
Alors déjà, tous ces trucs sont optionnels, le pack archive fonctionne très bien sans.
Kevin Kofler (./183) :
Et ensuite, pour le commentaire, il ne changera pas souvent, donc tu peux générer ton 89s une seule fois, pas besoin de faire ça à chaque fois que tu compiles le projet.
Kevin Kofler (./183) :
Et enfin, TIGCC ne supporte pas officiellement les packs archive
Kevin Kofler (./183) :
la compression pucrunch/ttpack est plus efficace que celle shnrklib - enfin, faut déjà qu'on l'utilise, cette compression
Kevin Kofler (./183) :
Un .h déjà au bon format pour être inclus, c'est aussi un fichier à part.
Kevin Kofler (./183) :
Et je te signale aussi l'existence de la directive .incbin.
Kevin Kofler (./183) :
Alors déjà c'est le cas seulement pour PedroM. Et c'est une erreur de ne supporter que PedroM. Vive les logiciels portables!
Kevin Kofler (./183) :
Et ensuite, la RAM est en général libre de toute façon, parce qu'elle est utilisée par des jeux (et libérée quand le jeu ne tourne pas), alors autant l'utiliser! L'archive, elle, limite le nombre de programmes que tu peux mettre sur la calculatrice. Donc il vaut mieux économiser l'archive que la RAM.
Kevin Kofler (./183) :
L'utilisateur ne va pas s'amuser à recompiler ton programme. Et puis la compression des packs archives est moins efficace que celle des PPGs.
Kevin Kofler (./183) :
Et puis? Moi, je distribue toujours mes binaires dans le même dossier que les sources, les utilisateurs avec un minimum de cerveau (ou qui ont lu le lisezmoi, qui pour mes programmes contient même les informations évidentes) s'en sortent très bien.
Kevin Kofler (./183) :
Et au moins pour Kate/KWrite, ça se désactive
Kevin Kofler (./183) :
Et puis la compression des packs archives est moins efficace que celle des PPGs.
Folco (./186) :
T'oublies que PedroM supporte nativement le multi-thread, et qu'on peut très bien faire une compilation en jouant à CF (et là, merci l'exécution en archive)
Lionel Debroux (./184) :Et c'est une erreur de ne supporter que PedroM. Vive les logiciels portables!=> Ne sert plus si tu passes à l'EDI.Rassure-nous, tu fais exprès de poster des choses bêtes et non constructives ?
C'est bien pour ça qu'il faut utiliser des pstarters plutôt que ttstart/SuperStart
Séparer les sources des binaires est pourtant une pratique très courante de génie logiciel...
Godzil (./185) :Kevin Kofler (./183) :
Et c'est une erreur de ne supporter que PedroM. Vive les logiciels portables!
Heu.. C'est toi qui dit ça ?
Folco (./186) :
Et donc ? Si un shell fouille le pack archive pour y trouver des informations standard, je dois pas lui permettre de le faire ?
Sauf que le commentaire, j'en ai besoin pour faire un fichier string, donc je le laisse dans un texte. Et c'est pas pour le temps pris par une passe de ttbin2str que ça dérange
alors que stdlib est built-in sous PedroM (ok, la version de TiEmu, je sais, mais j'utilise pas et je suis pas pour)
Mais j'ai besoin de la version dans le binaire au run-time, et dans un fichier passé à ttbin2str.
Kevin Kofler (./183) :
Et je te signale aussi l'existence de la directive .incbin.
Sans blague
C'est interdit de pas vouloir pour l'OS non-libre quasi-monopoliste et bugué qu'est AMS ?
T'oublies que PedroM supporte nativement le multi-thread, et qu'on peut très bien faire une compilation en jouant à CF (et là, merci l'exécution en archive)
Ah bon, toi fan de Linux
Et je m'en bats puisamment les couilles de la compression PPG, je te répète qu'elle me balancera un overhead permanent en flash et également au runtime. Pas sûr de gagner le moindre octet avec ça.
Tu fais ce que tu veux, mais à ma connaissance, rien ne m'oblige à distribuer un programme bordélique et dégueulasse, j'ai le droit de faire dans le propre quand même, non ?
Je saisMais je préfère ce comportement d'une manière générale.
PpHd (./187) :Kevin Kofler (./183) :Je rappelle que techniquement parlant rien n'enpêche d'utiliser la compression PPG pour les Pack Archive (qui est un format d'archive = un tar). Ce n'est pas un format de compression.
Et puis la compression des packs archives est moins efficace que celle des PPGs.
Kevin Kofler (./189) :
genre genalib dont les sources ont été perdues.
Kevin Kofler (./190) :
Alors qu'attends-tu pour remplacer shrnklib par ttunpack-small comme compression par défaut? Ce n'est pas la licence (LGPL+exceptions), le problème, elle est même plus permissive que celle de shrnklib (LGPL sans exceptions). Tu pourrais toujours proposer shrnklib - compressée avec ttunpack-small évidemment.![]()
PpHd (./191) :Kevin Kofler (./189) :Ce n'est pas perdu, et ses sources sont sous LGPL.
genre genalib dont les sources ont été perdues.
SuperStart est une espèce de kernel qu'il faut installer d'abord,
pas du tout pratique
il n'y a pas les correctifs de bogues des versions récentes de ttstart ou pstarter à cause des histoires de signature.
Kevin Kofler (./189) :
Pas tant que ce n'est pas intégré à la chaîne d'outils (chose pour laquelle tu n'as pas fait le moindre effort)
Kevin Kofler (./189) :
mais les commentaires _nostub ne sont pas compatibles avec le format kernel.
Kevin Kofler (./189) :
... mais pour le fait que c'est une étape de compilation non standard qui n'est pas prévue par l'EDI,
Kevin Kofler (./189) :
et qui ne sert à rien parce que tu peux lancer ttbin2str une fois et ne plus y toucher
Kevin Kofler (./189) :
Non, tu n'as pas besoin du fichier ttbin2str, c'est optionnel.
Kevin Kofler (./189) :
Bah, pourquoi générer un header avec un .ascii alors?
Kevin Kofler (./189) :
N'importe quoi...
Kevin Kofler (./189) :
Ici on a des paquetages compilés...
Kevin Kofler (./189) :
Bah, teste alors, si tu n'es pas sûr.
Kevin Kofler (./189) :
Bah non, l'EDI que tu es censée utiliser ne le permet pas.
Kevin Kofler (./189) :
Et je ne vois pas en quoi c'est "propre" de faire un bordel à plusieurs dossiers plutôt qu'un simple dossier de projet avec tout ce qu'il faut dedans.
Kevin Kofler (./189) :
Je déteste les fichiers *~ qui traînent!
Folco (./196) :Kevin Kofler (./189) :
Pas tant que ce n'est pas intégré à la chaîne d'outils (chose pour laquelle tu n'as pas fait le moindre effort)
Tu sais très bien que je connais pas le CJe suis pas informaticien, et j'ai une vie à côté de mon PC, donc j'ai pas que ça à foutre d'apprendre le C pour ta toulchayne personnelle
T'es pas standard !!! Les commentaires kernel étaient là avant !!!
Kevin Kofler (./189) :Je m'en bats puissamment les kooyes avec une pelle à tarte, ton IDE n'est pas plus standard que mon script.
... mais pour le fait que c'est une étape de compilation non standard qui n'est pas prévue par l'EDI,
Lionel Debroux (./193) :
Quels bugfixes y a-t-il ?
Folco (./196) :
T'es pas standard !!! Les commentaires kernel étaient là avant !!!
Je m'en bats puissamment les kooyes avec une pelle à tarte, ton IDE n'est pas plus standard que mon script.
Et t'es plus movea.l %a0,%a1, ou lea.l (%a0),%a1 ? Non, mais dis-le moi, parce que perso, je suis plus include que incbin. Chacun son truc.
Multi-thread non simultané, non-préemptif, bref t'as très bien compris le fond de ce que j'ai soulevé et qui invalide ton argument
mon programme n'est pas censé tourner seul sur la calc.
(et je me souviens d'une de tes diatribes d'il y a peut-être 5 ans, ou tu tapais sur les programmes qui se permettaient de penser qu'isl avaient le droit d'avoir toute la ram de la calc... faudrait savoir, non ?)
Je m'en bats puissamment les kooyes avec une pelle à tarte, j'ai fait mon choix entre ppgsuperstarteroverkill et les packaarchives. J'ai fait le choix en connaissance de cause, je ne me sens nulle obligation de faire ton test pour le justifier.
Lionel Debroux (./195) :
Kevin, que penses-tu du ticket #34 de GCC4TI, 'Support folder names in the "External data variable" name and the "Compress program" name fields' ?
Même si tu ne comptes pas ajouter le support des noms avec répertoire dans le champ "Compress program", il faut de toute façon corriger deux bugs de KTIGCC
:* limitation de la taille du champ à 8 caractères (déjà reporté);
* absence de vérification de la validité des noms. Contrairement à l'IDE Delphi, KTIGCC ne voit aucun inconvénient à une data variable nommée "a\a\a" (ou a\a\a).
En effet, ld-tigcc, grâce à main.c :: DecodeOnCalcName, supporte l'utilisation du charset natif de la machine.
Mais aucun des deux IDE ne le supporte vraiment: non seulement les champs d'edit sont trop courts (IDE Delphi et KTIGCC), mais '%' n'est pas un caractère autorisé par le vérificateur de l'IDE Delphi (N/A pour KTIGCC qui ne vérifie rien du tout, pour le moment).
Kevin Kofler (./199) :
Donc ton argument prétendant que le PPG sera plus gros si on compte le pstarter n'est pas valide.
Quels bugfixes [à pstarter/ttstart] y a-t-il ?Sûrement un bon paquet depuis 2004, mais malheureusement je ne me rappelle pas de tout ce qui avait été reporté.
pour une fonctionnalité limite inutile
De toute façon, une validation complète est impossible parce qu'il y a aussi les mots-clé réservés, qui dépendent de la version de AMS et de la langue.
Je ne peux que rejeter ce qui ne peut jamais être un nom valide.
% ne sera jamais autorisé à être rentré par l'utilisateur dans l'EDI (en ligne de commande, c'est accepté), c'est un codage utilisé en interne par KTIGCC 2 pour passer le nom à ld-tigcc de manière portable et compatible Qt 4
Lionel Debroux (./202) :
Dans le repository CVS de TIGCC, on trouve:
A priori, le support des dossiers dans le nom de la data variable fonctionne sans modifications au linker. J'ai écrit à David Randall avant les congés de Noël pour lui demander ce qui ne fonctionnait pas pour lui, je n'ai pas eu de réponse...Ce serait donc l'absence de support des dossiers dans le nom du programme compressé qui serait une incohérence.
Le support des dossiers dans le pstarter ne consomme que 9 octets, soit moins d'1% de la taille d'un pstarter. Moins que de faire un wrapper TI-BASIC qui change temporairement et restaure le répertoire courant, ce que les utilisateurs font souvent pour éviter d'avoir à changer à la main dans un sens et dans l'autre le répertoire courant.
Ce n'est ni l'avis de David Randall, ni celui de TICT (dont le programme le plus connu utilise un répertoire autre que "main").
Bah, je peux interdire les backslashes dans les noms des fichiers de données dans ld-tigcc si cette incohérence te dérange tant que ça
Kevin Kofler (./203) :
Ils n'ont qu'à envoyer tout dans main comme prévu.