270

Je suis comme godzil... un langage qui permet la déclaration de variable "à l'arrache" est pour moi une hérésie. Je le comprends (mais je ne le cautionne pas) pour un langage comme le Basic qui sert plus à de petites applis qu'à autre chose, mais venant du C, c'est une hérésie (je sais, je me répète) ne serait-ce que du point de vue analytique.
avatar

271

godzil
a écrit : non en C89 il est interdit de déclarer une variable autre pars qu'au début d'une fonction d'ailleur le support de code dans entre accolades en dehors d'une déclaration if,for,while est pas "legale" en C89..

C'est totalement faux!!! Il est permis de déclarer des variables au début d'un bloc entre accolades en ISO C90 (ANSI C89), et il est permis de mettre des blocs entre accolades partout où on en a envie!
unknown@K /e/TI-89/Compilers/tigcc/Projects
$ tigcc --version
GCC.EXE (GCC) 3.3 20030421 (TIGCC prerelease)
Copyright (C) 2002 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
 
unknown@K /e/TI-89/Compilers/tigcc/Projects
$ cat test6.c
void func()
{
 int i;
 {
  int i;
 }
}
 
unknown@K /e/TI-89/Compilers/tigcc/Projects
$ tigcc -ansi -pedantic-errors -S test6.c
 
unknown@K /e/TI-89/Compilers/tigcc/Projects
$

Si tu ne me crois pas, va récupérer une copie du standard! Il y en a qui traînent sur Internet, et tu peux acheter une copie légale imprimée chez ISO, ANSI ou un de leurs revendeurs autorisés.
ex:
void func()
{
 int i;
 i++;
 {
  i++;
 }
}
n'est pas autorisé en C89

Si.
unknown@K /e/TI-89/Compilers/tigcc/Projects
$ tigcc --version
GCC.EXE (GCC) 3.3 20030421 (TIGCC prerelease)
Copyright (C) 2002 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
 
unknown@K /e/TI-89/Compilers/tigcc/Projects
$ cat test6.c
void func()
{
 int i;
 i++;
 {
  i++;
 }
}
 
unknown@K /e/TI-89/Compilers/tigcc/Projects
$ tigcc -ansi -pedantic-errors -S test6.c
 
unknown@K /e/TI-89/Compilers/tigcc/Projects
$

si tu trouve un compilo dit "C89" qui accepete sa c'est qu'il n'est pas C89,

Si.
les commentaires C++ (//) ne font pas partit aussi du C89 d'ailleur. mais quel compilo C ANSI actuel ne les supportent pas ?

unknown@K /e/TI-89/Compilers/tigcc/Projects
$ tigcc --version
GCC.EXE (GCC) 3.3 20030421 (TIGCC prerelease)
Copyright (C) 2002 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
 
unknown@K /e/TI-89/Compilers/tigcc/Projects
$ cat test6.c
// Main Function
void _main(void)
{
}
 
unknown@K /e/TI-89/Compilers/tigcc/Projects
$ tigcc -ansi -pedantic-errors -S test6.c
test6.c:1: error: parse error before '/' token
 
unknown@K /e/TI-89/Compilers/tigcc/Projects
$ tigcc -pedantic-errors -S test6.c
test6.c:1:1: C++ style comments are not allowed in ISO C90
test6.c:1:1: (this will be reported only once per input file)
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

272

godzil a écrit :
et pourquoi instancier une variable dans un for est crade ?
Va debugguer sa et vive les effet de bords majestueux !

what
Que viennent faire les effets de bord ici? Je signale que la déclaration dans le for n'est valable qu'à l'intérieur du bloc entouré par le for, comme en ISO C++98.
Plus on avance, et plus le C deviens permissif et ajoute des truc inutiles, et qui viennent pourrirs le code..

Plus on avance, et plus le C devient tolérant et ajoute des truc utiles, et qui viennent simplifier le code. Et le rendre plus lisible en passant.
Personnelement, et je sais ne pas etre le seul, les extentions GNU et le C99 font partit des pire trucs qu'on ai jamais pu voir au niveau languages de programmation au niveau permisivité... le language C qui est pas forcement simple au premier abord deviens de plus en plus immonde... connaisant le style de certain programmeurs le codage en C vadevenir horrible a reprendre... D'ailleur se que j'ai du mal a comprendre c pourquoi il cherchent tant a mettre ses c*****ie d'extention du C++ au C standard... le C et le C++ se ressemblent mais ne sont pas le meme language...

Ils mettent dans le C ce qui est pratique du C++ sans toutes les lourdeurs du C++ qui donnent du code inefficace (classes, templates, exceptions, RTTI, surchargement, ...). Bref, si c'est pratique et léger, on le prend; si c'est lourd, on le jette (et on le laisse aux programmeurs C++ qui, eux, rendent leurs programmes de plus en plus lourds avec, à titre d'exemple, des templates hyper-compliqués quand une simple macro permet de faire la même chose de manière nettement plus efficace). Ça rend le C de plus en plus intéressant comme langage.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

273

Je suis comme godzil... un langage qui permet la déclaration de variable "à l'arrache" est pour moi une hérésie
VB ne le permet pas et pourtant c'est le genre de langage ou ca pourait être compréhensible. en JAVA ca ne gène pas non plus mais a mon avis le C doit rester un langage simple et proche de la machine avec une structure fixe et les extension ne vont pas dans le bon sens.
avatar

274

Uther Lightbringer
a écrit : VB ne le permet pas

Oh si, tu peux déclarer des variables n'importe où. Il suffit d'utiliser le caractère d'identifiant du type. Par exemple, à la première utilisation de A, tu marques A$ et c'est bon. Et tu peux même ne pas les déclarer du tout!
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

275

Non pour preuve utilise OPTION EXPLICIT et essaye de faire un Dim au milieu d'un programme, il t'envera sur les roses. Si tu ne déclare pas il le fait a ta place mais ca n'empèche pas qu'il s'agit d'une déclaration au niveau de la procédure en cours
avatar

276

Euh, tout le monde n'utilise pas Option Explicit. roll Moi, je ne l'utilise pas en tout cas. Et ça permet d'utiliser la déclaration "en passant", en attachant l'identifiant du type ($, %, &, ...) à la première utilisation de la variable.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

277

Oui mais au bout du compte ca revient au même : l'espace est réservé au début de la procédure et la variable est visible sur toute le procédure et non sur le bloc.
Option explicit ca évite pas mal de bug style une faute de frappe dans une variable,...
avatar

278

> À titre d'exemple: tout le monde est libre de forker TIGCC, mais personne ne l'a fait.

Personne ne le fait parceque si on annonce qu'on veut le faire, y'a un Monsieur au comportement extrêment bizarre, soi-disant pour le logiciel libre, qui nous en empêche.


> je ne vois pas quelle fonction on pourrait avoir envie de rajouter à GTC, qui ne soit ni trop lente ni trop gourmande en mémoire
>> Qui te dit que personne ne trouvera une implémentation efficace pour ce pour quoi tu n'en as pas trouvée? Tu n'es pas parfait!

Il est certainement plus parfait que toi. Il n'emmerde pas ceux qui ne sont pas d'accord avec lui. Il a été capable de faire quelque chose de bien plus utile et compliqué qu'un backgammon. Il est assez bon programmeur, je pense, pour savoir si ces extensions sont implémentables sans ajouter des dizaines de ko de binaire. Tu penses bien que ces extensions ne peuvent pas tenir sur quelques octets !
Tsss...


> Il y a aussi:
> * les extensions GNU que tu n'as pas implémentées (cf. point 2),
> * les extensions incompatibles que tu as rajoutées.
> Ça fait des incompatibilités dans les 2 sens, que tu essayes toujours (à tort!) de nier.

Bordel, mais tu sors d'où pour ne pas savoir que la taille des fichiers est limitée à 64 ko (avec une DLL on aurait plus assez de RAM libre) sur TI68k ???
Arrête d'emmerder le peuple, tu sais que c'est impossible ! Il est évident que GTC ne peut pas prendre en compte TOUTES les fonctionnalités de TIGCC, et qu'il doit en inventer d'autres moins gourmandes en ressources pour compenser. Ceux qui ne veulent pas de ces extensions ne les utiliseront pas (combien de fois on va te le répéter).
Il faut faire des choix entre les possibilités qu'on permet et ce qu'on retire parceque c'est moins indispensable.
C'est pour ça qu'il est débile de rejeter GTC. Il est très fonctionnel, mais il y a des limites qui ne dépendent pas de Pollux. Programme un compilateur on-calc, tu buteras sur les mêmes limites. Tu trouverais juste qu'on dise "ton compilo est une merde" pour ça ? Non, car il rendra quand même de grands services.


> ça ne fait que montrer que c'est une mauvaise idée d'utiliser le préprocesseur C pour l'assembleur.

Encore un fois, il n'a pas le choix s'il veut gagner autant de place que possible.


> Mais on peut pas dire de TIGCC qu'il est vraiment libre.
>> Et pourquoi???

Quelle mauvaise foi.


> Même si vous étiez "pas mal": Si pas mal de gens ont tort, ça ne changera rien au fait qu'ils ont tort! Le nombre ne fait pas la vérité!

Ben voyons, on a tort ! Oui, on a tort quand on dit que vous nous empêchez de faire notre propre TIGCC, on a tort quand on dit que vous employez les moyens les plus lamentables pour salir la réputation d'un programme qui utilise les DLLs comme vous ne l'aviez pas prévu...
Non, désolé, on n'a pas complètement tort. Si tu veux nous donner tort, change de mentalité : permet aux autres de penser autrement que toi, arrête de te prendre pour le boss qui donne des ordres à tout le monde et qui se permet de manipuler les newbies ! T'es autant que nous un simple adolescent de 19 ans encore en études. Retire le balai que tu as dans le cul.


> Si Pollux ne sait pas les implémenter de manière efficace, c'est son problème personnel, ce n'est pas un problème avec les extensions.

Parceque toi tu as la faculté de compresser les centaines de lignes de code nécessaires en 3 lignes afin de ne pas dépasser 64 ko ?
Pffff, quel festival de mauvaise foi aujourd'hui !


> c'est-à-dire qu'un compilateur ISO C90 (ANSI C89) n'est plus un compilateur C

rotfl
C'est quoi alors ? un compilateur Pascal ? triroll
Zut, je vais devoir apprendre un nouveau langage !


Franchement Kevin, cracher sur un programme avec autant de passion et avec autant d'arguments minables, c'est de la gaminerie, niveau maternelle. Parceque les faits sont là : GTC compile de grosses sources, n'oblige pas à apprendre un nouveau langage, tout codeur C peut l'utiliser sans problème, il devra juste se passer de quelques extensions bien pratiques mais pas indispensables à 100 %. Allez, on va te laisser cracher sur GTC, va. Si ça te fait jouir d'être aussi ridicule smile
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

279

Juste une précision, GTC fait bien plus de 64k (100k actuellement), mais en pratique il prend bien moins de place que CC (assembleur intégré, header compressé...) Le problème n'est donc pas la limite des 64k, mais de rester à une taille correcte, avoir une vitesse d'exécution correcte et ne pas demander trop de RAM (sinon on ne pourrait pas compiler de grosses fonctions, même si actuellement on peut compiler des fonctions ~ 2-3 fois plus grosses qu'avec CC)

> C'est très loin même d'un GO, donc tu as à très tort de parler de plusieurs GO
lol smile (euh d'ailleurs tu parles d'une douzaine de Mo, c'est très loin d'être vrai : j'avais voulu compiler TIGCC il y a assez longtemps, j'avais téléchargé une 30aine de Mo et j'avais fini par me décourager - sincèrement, prends Windows fraîchement installé et essaye de télécharger le minimum nécessaire pour recompiler TIGCC : tu vas voir que ça fait vraiment beaucoup, évidemment moins d'un Go, mais bcp)

> 1. En quoi est-il indispensable pour l'ASM de pouvoir mettre des directives du préprocesseur dans une macro? Pour le reste, #define suffit largement.
Appels récursifs, tests sur les arguments (exemple : utilisation d'argument variables et génération de code en conséquence)
Bref tout ce que permet macro/endm de a68k par exemple.
> 2. Même si tu trouves une réponse au 1., ça ne fait que montrer que c'est une mauvaise idée d'utiliser le préprocesseur C pour l'assembleur.
Cf posts précédents roll

> Plus logique??? Tu appelles ça logique de devoir mettre un ; après un }???
> Normalement, un } termine déjà un bloc en C, donc le ; n'est pas nécessaire. Ta syntaxe pour l'assembleur inline (en plus d'être gratuitement incompatible avec GCC) est très bizarre de par ce fait.
Non, par exemple : enum { VAL1, VAL2, VAL3 };
Et je pense que si tu avais dirigé la team GCC au moment d'introduire ({...}), tu aurais violemment critiqué une extension aussi saugrenue (des parenthèses autour d'un bloc, on aura tout vu triso)

> ... si tu acceptes de l'utiliser, malgré le fait qu'elle n'est pas libre. Ce n'est pas le cas de tout le monde
rotfl
no comment

> Si Pollux ne sait pas les implémenter de manière efficace, c'est son problème personnel, ce n'est pas un problème avec les extensions.
Puisque tu es si fort, si tu trouves un moyen d'implémenter dans CC les fonctions inline ou les nested functions en moins de 1 ko et sans surcoût de mémoire ou de vitesse, je veux bien porter tes routines pour GTC (mais j'ai comme un doute smile)

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

280

ha... ce Kevin, je le trouve terrible love
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

281

Thibaut a écrit :
> À titre d'exemple: tout le monde est libre de forker TIGCC, mais personne ne l'a fait.
Personne ne le fait parceque si on annonce qu'on veut le faire, y'a un Monsieur au comportement extrêment bizarre, soi-disant pour le logiciel libre, qui nous en empêche.

Je vous déconseille de le faire, mais il n'est pas en mon pouvoir de vous l'interdire. Les développeurs de GCC n'aiment pas non plus qu'on forke leur compilateur et ça ne m'empêche pas de le faire. tongue
> je ne vois pas quelle fonction on pourrait avoir envie de rajouter à GTC, qui ne soit ni trop lente ni trop gourmande en mémoire
>> Qui te dit que personne ne trouvera une implémentation efficace pour ce pour quoi tu n'en as pas trouvée? Tu n'es pas parfait!
Il est certainement plus parfait que toi. Il n'emmerde pas ceux qui ne sont pas d'accord avec lui. Il a été capable de faire quelque chose de bien plus utile et compliqué qu'un backgammon.

Tu oublies que je suis aussi mainteneur du portage de GCC.
Il est assez bon programmeur, je pense, pour savoir si ces extensions sont implémentables sans ajouter des dizaines de ko de binaire. Tu penses bien que ces extensions ne peuvent pas tenir sur quelques octets ! Tsss...

Le problème est que tu ne peux pas le prouver, et que Pollux nous empêche de prouver le contraire en refusant de sortir les sources. Il est donc inutile de continuer à discuter sur ce point.
> Il y a aussi:
> * les extensions GNU que tu n'as pas implémentées (cf. point 2),
> * les extensions incompatibles que tu as rajoutées.
> Ça fait des incompatibilités dans les 2 sens, que tu essayes toujours (à tort!) de nier.
Bordel, mais tu sors d'où pour ne pas savoir que la taille des fichiers est limitée à 64 ko (avec une DLL on aurait plus assez de RAM libre) sur TI68k ???

On peut charger et décharger du code au besoin. Les DLLs _nostub de TIGCC le permettent, et PreOs aussi (PpHd appelle ça les "librairies conditionnelles").
Arrête d'emmerder le peuple, tu sais que c'est impossible ! Il est évident que GTC ne peut pas prendre en compte TOUTES les fonctionnalités de TIGCC,

Ce n'est pas du tout "évident". Rien n'est "évident". Soit tu peux le prouver (et je t'y défie), soit tu te tais!
et qu'il doit en inventer d'autres moins gourmandes en ressources pour compenser.

Alors là pas du tout! S'il ne peut pas maintenir la compatibilité dans les deux sens, qu'il maintienne au moins la compatibilité dans un seul sens (GTC->TIGCC)!
Ceux qui ne veulent pas de ces extensions ne les utiliseront pas (combien de fois on va te le répéter).

Mais ceux qui les utilisent causent des problèmes pour ceux qui veulent recompiler leurs sources. Mais évidemment, cette considération-là ne rend pas du tout dans la tête de Pollux avec son esprit closed-source.
Il faut faire des choix entre les possibilités qu'on permet et ce qu'on retire parceque c'est moins indispensable.

Peut-être, peut-être pas, mais tu ne peux pas l'affirmer si tu ne peux pas le démontrer.
C'est pour ça qu'il est débile de rejeter GTC. Il est très fonctionnel, mais il y a des limites qui ne dépendent pas de Pollux. Programme un compilateur on-calc, tu buteras sur les mêmes limites. Tu trouverais juste qu'on dise "ton compilo est une merde" pour ça ? Non, car il rendra quand même de grands services.

Si, et je l'avouerais moi-même! C'est pour ça que je ne perds pas mon temps là-dessus.
> ça ne fait que montrer que c'est une mauvaise idée d'utiliser le préprocesseur C pour l'assembleur.
Encore un fois, il n'a pas le choix s'il veut gagner autant de place que possible.

Et rien ne l'oblige de "gagner autant de place que possible"!
> Mais on peut pas dire de TIGCC qu'il est vraiment libre.
>> Et pourquoi???
Quelle mauvaise foi.

C'est ton absence d'argumentation et ton abus total et injustifié de l'expression "mauvaise foi" qui relève de mauvaise foi! Donne-moi un argument ou la ferme!
> Même si vous étiez "pas mal": Si pas mal de gens ont tort, ça ne changera rien au fait qu'ils ont tort! Le nombre ne fait pas la vérité!
Ben voyons, on a tort ! Oui, on a tort quand on dit que vous nous empêchez de faire notre propre TIGCC,

Oui, rien ne vous en empêche!
on a tort quand on dit que vous employez les moyens les plus lamentables pour salir la réputation d'un programme qui utilise les DLLs comme vous ne l'aviez pas prévu...

Ce n'est pas qu'on ne l'a pas prévu, on l'a prévu, justement, et exactement pour cela on l'a fortement déconseillé dans la documentation! Mais il y a des gens qui ne la lisent pas, ou alors qui font exprès d'embêter le monde! Et c'est ça qu'on critique!
> Si Pollux ne sait pas les implémenter de manière efficace, c'est son problème personnel, ce n'est pas un problème avec les extensions.

Parceque toi tu as la faculté de compresser les centaines de lignes de code nécessaires en 3 lignes afin de ne pas dépasser 64 ko ? Pffff, quel festival de mauvaise foi aujourd'hui !

Quelqu'un d'autre que Pollux (je n'ai jamais dit que ce serait moi!!!) pourrait trouver une manière d'implémenter la même chose en 10 lignes plutôt que 100! Arrête de prendre Pollux pour un dieu!
> c'est-à-dire qu'un compilateur ISO C90 (ANSI C89) n'est plus un compilateur C

rotfl C'est quoi alors ? un compilateur Pascal ?

Non, un compilateur d'un langage obsolète, donc un compilateur obsolète.
Zut, je vais devoir apprendre un nouveau langage !

Non, parce que l'ISO C99 maintient (à quelques détails près) la compatibilité antérieure avec l'ISO C90.
Pollux
a écrit : Juste une précision, GTC fait bien plus de 64k (100k actuellement), mais en pratique il prend bien moins de place que CC (assembleur intégré, header compressé...) Le problème n'est donc pas la limite des 64k, mais de rester à une taille correcte, avoir une vitesse d'exécution correcte et ne pas demander trop de RAM (sinon on ne pourrait pas compiler de grosses fonctions, même si actuellement on peut compiler des fonctions ~ 2-3 fois plus grosses qu'avec CC)

Le chargement/déchargement de code au besoin, ça existe.
> C'est très loin même d'un GO, donc tu as à très tort de parler de plusieurs GO
lol smile (euh d'ailleurs tu parles d'une douzaine de Mo, c'est très loin d'être vrai : j'avais voulu compiler TIGCC il y a assez longtemps, j'avais téléchargé une 30aine de Mo et j'avais fini par me décourager - sincèrement, prends Windows fraîchement installé et essaye de télécharger le minimum nécessaire pour recompiler TIGCC : tu vas voir que ça fait vraiment beaucoup, évidemment moins d'un Go, mais bcp)

C'était une vieille version. Pour TIGCC 0.94 SP4, je viens de compter, et ce sont 11.656.119 octets (somme de tigccsrc.zip + sources de GCC 3.2.1 et Binutils 2.13.1), donc moins de 12 MO.
> 1. En quoi est-il indispensable pour l'ASM de pouvoir mettre des directives du préprocesseur dans une macro? Pour le reste, #define suffit largement. Appels récursifs, tests sur les arguments (exemple : utilisation d'argument variables et génération de code en conséquence)

Tu as l'air d'aimer beaucoup les macros récursives. Moi, je n'aime pas du tout!
> 2. Même si tu trouves une réponse au 1., ça ne fait que montrer que c'est une mauvaise idée d'utiliser le préprocesseur C pour l'assembleur.
Cf posts précédents roll

Cf. plus haut. smile
> Plus logique??? Tu appelles ça logique de devoir mettre un ; après un }???
> Normalement, un } termine déjà un bloc en C, donc le ; n'est pas nécessaire. Ta syntaxe pour l'assembleur inline (en plus d'être gratuitement incompatible avec GCC) est très bizarre de par ce fait. Non, par exemple : enum { VAL1, VAL2, VAL3 };

Là, c'est une déclaration, pas des instructions, et c'est pour montrer qu'il n'y a pas de nom de variable dans la déclaration. Ça n'a aucun rapport avec asm.
Et d'ailleurs, la syntaxe asm(""); résout cette ambiguïté. smile
Et je pense que si tu avais dirigé la team GCC au moment d'introduire ({...}), tu aurais violemment critiqué une extension aussi saugrenue (des parenthèses autour d'un bloc, on aura tout vu

Au contraire, j'aime bien cette extension! (D'ailleurs, si GTC ne la comprend pas, il est totalement inutilisable pour moi.)
> ... si tu acceptes de l'utiliser, malgré le fait qu'elle n'est pas libre. Ce n'est pas le cas de tout le monde
rotfl no comment

Ce n'est pas drôle. Je cite:
As a computer user today, you may find yourself using a proprietary (18k characters) program. If your friend asks to make a copy, it would be wrong to refuse. Cooperation is more important than copyright. But underground, closet cooperation does not make for a good society. A person should aspire to live an upright life openly with pride, and this means saying ``No'' to proprietary software.

> Si Pollux ne sait pas les implémenter de manière efficace, c'est son problème personnel, ce n'est pas un problème avec les extensions.
Puisque tu es si fort, si tu trouves un moyen d'implémenter dans CC les fonctions inline ou les nested functions en moins de 1 ko et sans surcoût de mémoire ou de vitesse, je veux bien porter tes routines pour GTC (mais j'ai comme un doute smile)

Si j'avais le temps, je relèverais le défi. Mais là, je vais faire comme toi: on va voir aux grandes vacances. grin
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

282

Kevin Kofler a écrit :
Ce n'est pas drôle. Je cite:

>As a computer user today, you may find yourself using a proprietary (18k characters)
>program. If your friend asks to make a copy, it would be wrong to refuse. Cooperation is
>more important than copyright. But underground, closet cooperation does not make for
>a good society. A person should aspire to live an upright life openly with pride, and this
>means saying ``No'' to proprietary software.

C'est bien du RMS sa encore, se gars commence sérieusement a m'enerver...
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

283

> Le problème est que tu ne peux pas le prouver, et que Pollux nous empêche de prouver le contraire en refusant de sortir les sources. Il est donc inutile de continuer à discuter sur ce point.
Si, qqun peux toujours le faire sur CC s'il en est capable smile

> Mais ceux qui les utilisent causent des problèmes pour ceux qui veulent recompiler leurs sources. Mais évidemment, cette considération-là ne rend pas du tout dans la tête de Pollux avec son esprit closed-source.
1) Pourquoi est-ce que tu crois que je me fais chier à faire ces extensions GNU? Le problème c'est que je ne vais pas faire un compilo de 250 ko juste pour les qqs extensions qui manquent (et qui sont pour la plupart rarement utilisées, donc ça va assez vite à porter)
2) Je ne vois absolument pas le rapport avec le closed-source triso

> > Programme un compilateur on-calc, tu buteras sur les mêmes limites.
> > Tu trouverais juste qu'on dise "ton compilo est une merde" pour ça ?
> > Non, car il rendra quand même de grands services.
> Si, et je l'avouerais moi-même! C'est pour ça que je ne perds pas mon temps là-dessus.
Alors ne critique pas les compilo on-calc si tu sais que quoi que le développeur fasse, tu voudras toujours trouver de quoi le critiquer roll Un compilo on-calc n'a pas les mêmes contraintes qu'un compilo PC, point. Arrête de relancer le débat alors que tu sais pertinemment que tu vas demander à GTC des choses impossibles pour un compilo on-calc.

> Et rien ne l'oblige de "gagner autant de place que possible"!
Si, ne serait-ce que moi. Ca fait partie des contraintes que je me suis fixé, et si elles ne te plaisent pas, libre à toi de ne pas utiliser GTC.

> Quelqu'un d'autre que Pollux (je n'ai jamais dit que ce serait moi!!!) pourrait trouver une manière d'implémenter la même chose en 10 lignes plutôt que 100!
Oui. Mais pour l'instant personne n'a trouvé le moyen de faire passer GTC de 100 à 10 ko, donc je ne te permets pas de me critiquer sur le fait que je pourrais faire mieux. Je fais ce que je peux, c'est tout.
Et si tu me dis que c parce que GTC n'est pas open-source, j'attends encore celui qui fera passer CC à 6 ko smile

> Le chargement/déchargement de code au besoin, ça existe.
... et après c le bordel ... (incompatibilités entre les différentes versions de GTC)

> Pour TIGCC 0.94 SP4, je viens de compter, et ce sont 11.656.119 octets (somme de tigccsrc.zip + sources de GCC 3.2.1 et Binutils 2.13.1), donc moins de 12 MO.
Plus je présume un compilo genre mingw... Si tu mets tes 12 Mo sur un ordinateur avec Windows tout juste installé, tu ne pourras pas recompiler TIGCC

> Tu as l'air d'aimer beaucoup les macros récursives. Moi, je n'aime pas du tout!
Tu as l'air de ne pas beaucoup aimer faire des routines optimisées en assembleur. Je m'en sers tout le temps dans Formula 0, dans mon début de routine de triangle...

> Là, c'est une déclaration, pas des instructions, et c'est pour montrer qu'il n'y a pas de nom de variable dans la déclaration. Ça n'a aucun rapport avec asm.
> Et d'ailleurs, la syntaxe asm(""); résout cette ambiguïté.
Oui, mais asm("") est bien adapté parce que l'argument est une chaîne. Dans GTC, l'argument est du code (c'est d'ailleurs la même chose que dans Visual C++) (et oui je sais tu préfères GCC)

> Au contraire, j'aime bien cette extension! (D'ailleurs, si GTC ne la comprend pas, il est totalement inutilisable pour moi.)
Je sais que tu l'aimes bien (moi aussi d'ailleurs). Je dis juste qu'au moment où les développeurs de GCC l'ont introduite, tu n'aurais pas aimé la syntaxe des parenthèses autour des {...} smile

> Ce n'est pas drôle. Je cite: ...
Ce n'est pas parce que tu cites que tu as raison. D'ailleurs tu dois avoir Windows sur ton ordinateur donc tout ça c'est des paroles en l'air roll

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

284

> C'est bien du RMS sa encore, se gars commence sérieusement a m'enerver...
clair smile

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

285

D'ailleurs tu dois avoir Windows sur ton ordinateur donc tout ça c'est des paroles en l'air roll

A moins, bien sûr, que tu ne l'ais que "temporarily for the specific purpose of writing a free replacement for that very program" wink

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

286

Pollux> Est-ce que tu peux donner en gros quelles sont les extensions GNU de TIGCC qui seront supportées par GTC et celles qui ne le seront pas ? (donne les plus importantes)
À chaque fois que je lis un bout de la doc concernant les extensions GNU, je les trouve toutes pratiques. Mais j'avoue que je n'en utilise aucune grin

Sinon, moi je suis un peu perdu avec tous les standarts.
Kevin> C'est quoi le standart par défaut utilisé par TIGCC ? Parce que j'ai du mal comprendre, mais j'ai l'impression que c'est des bouts de standarts pris d'un peu partout ? D'après la doc, j'ai cru comprendre que le standart par défaut est du C89, avec des extensions GNU (donc non standart) et quelques extensions prises du C99. confus

287

> Il faut faire des choix entre les possibilités qu'on permet et ce qu'on retire parceque c'est moins indispensable.
>> Peut-être, peut-être pas, mais tu ne peux pas l'affirmer si tu ne peux pas le démontrer.

Kevin, j'espère que tu as conscience de répondre un truc vraiment idiot !!! Sinon il faut rapidement que tu fasses une thérapie.


> Tu penses bien que ces extensions ne peuvent pas tenir sur quelques octets !
>> Le problème est que tu ne peux pas le prouver

C'est évident pour tout programmeur un tant soit peu intelligent. Arrête de préférer passer pour un con à admettre de te tromper roll


> Il est évident que GTC ne peut pas prendre en compte TOUTES les fonctionnalités de TIGCC
>> Ce n'est pas du tout "évident". Rien n'est "évident". Soit tu peux le prouver (et je t'y défie), soit tu te tais!

Tu as mangé de la vache folle ? Tu es entré dans une secte qui te fais croire aux miracles ?
T'as un blocage, là ! Vraiment, tu passes pour un débutant. Tu as vu la taille de TIGCC ? Tu crois qu'il est possible de la réduire à 100 ko en gardant toutes les fonctionnalités ???????
Mais arrête ta mauvaise foi ! C'est ridicule eek


> Mais ceux qui les utilisent causent des problèmes pour ceux qui veulent recompiler leurs sources.

Pollux est malin puisqu'il a trouvé une solution qui annulera ton argument : dire dans la documentation de l'extension qu'elle ne fonctionnera pas sur tout autre compilateur. A moins de prendre les autres pour des incapables (ce que tu sembles faire), on est sûr qu'il n'y aura pas de problème.


> Et rien ne l'oblige de "gagner autant de place que possible"!

Si ! tu sais parfaitement quoi. Mais tu préfères faire semblant de ne pas comprendre parceque tu aurais trop de mal à avouer que tu t'es trompé.


> Quelle mauvaise foi.
>> C'est ton absence d'argumentation et ton abus total et injustifié de l'expression "mauvaise foi" qui relève de mauvaise foi! Donne-moi un argument ou la ferme!

Les arguments sont dans le paragraphe qui suit immédiatement. Tu les connais de toute façon puisque tu es la cause => c'est de la mauvaise foi de les nier. Et puis tu sais bien que tu es réputé pour être quelqu'un de très mauvaise foi. Tout le monde le dis. De la même manière que Pollux est réputé pour son vaporware (mais lui, il va bientôt tâcher de vous faire changer d'avis).


> Quelqu'un d'autre que Pollux (je n'ai jamais dit que ce serait moi!!!) pourrait trouver une manière d'implémenter la même chose en 10 lignes plutôt que 100! Arrête de prendre Pollux pour un dieu!

Quel débutant ce Kevin grin


> Non, un compilateur d'un langage obsolète, donc un compilateur obsolète.

Pffff. A chaque fois que tu dis quelque chose, tu fortifies un peu plus ta réputation smile


> Le chargement/déchargement de code au besoin, ça existe.

Et bonjour la lenteur...


> Tu as l'air d'aimer beaucoup les macros récursives. Moi, je n'aime pas du tout!

On s'en fout de toi parceque ça peut être utile à d'autres personnes.


Vas-y, continue mon Kevin love
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

288

PS : ta citation a finit par me faire mourrir de rire. Une fois de plus, t'es prêt à faire les pires conneries pour paraître crédible.
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

289

Je pense que j'ai une idée du truc spécial qui est en train d'être fait pour TIGCC 0.95, mais je ne dirai rien car je ne suis pas sûr...

Pour le reste, j'ai arrêté de lire...
avatar
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.

290

Tu fais bien, ça n'a aucun intérêt. Ce ne sont que des répétitions infinies d'explications à un sourd wink

Le truc spécial, c'est le nouvel éditeur de liens je crois.
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

291

Le truc spécial, c'est le nouvel éditeur de liens je crois

en fait, ca doit etre une fonctionnalité de cet editeur, je pense...
mais je ne sais pas quoi, justement smile
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

292

> Ce ne sont que des répétitions infinies d'explications à un sourd
Ca vaut aussi bien pour toi...

> Le truc spécial, c'est le nouvel éditeur de liens je crois.
("éditeur de liens" == "linker")?TRUE:FALSE
avatar
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.

293

g cru entendre parler d'une modification au niveau des tables de relogemenst what a vérifier
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

294

TRUE

sachant que link==lien
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

295

> g cru entendre parler d'une modification au niveau des tables de relogement
Une possibilité d'optimisation, pas une modification. TIGCC respectera toujours le standard natif d'AMS, le seul que comprenne EX_Patch !
avatar
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.

296

> Ca vaut aussi bien pour toi.
Kevin n'arrête pas de trouver des réponses (clairement invalides, pour nous) contre ce qu'on lui répète depuis plusieurs pages, à savoir qu'on ne peut pas faire mieux, que ça dérangera personne à part lui.
C'est nous les sourds ? Pourtant, à part toi, personne ne semble penser comme lui.
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

297

C'est quoi le standart par défaut utilisé par TIGCC ? Parce que j'ai du mal comprendre, mais j'ai l'impression que c'est des bouts de standarts pris d'un peu partout ? D'après la doc, j'ai cru comprendre que le standart par défaut est du C89, avec des extensions GNU (donc non standart) et quelques extensions prises du C99.
Le standard de TIGCC c 'est le GNU C, c'est a dire le C89 + les extentions GNU(dont certaines sont reprises dans le C99) GCC tend a évoluer vers le C99.
Le C le plus standard actuellement est le C89 ou C ANSI.
> Le truc spécial, c'est le nouvel éditeur de liens je crois. ("éditeur de liens" == "linker")?TRUE:FALSE
TRUE
g cru entendre parler d'une modification au niveau des tables de relogemenst a vérifier
je pense qu'il doit implémenter une table de relogement style kernel vu qu'il a dit que ca corrigerai le retard en taille de CC par raport au kernel et que c'est justement la table de relogemment kernel qui lui permet d'économiser de la place. De plus il n'a pas nié le fait que ca serait incompatible avec le format nostub standard.

pour le reste du débat ca me fait rire. Kévin qui n'arrète pas de trouver des excuse bidons contre GTC. Et Pollux qui refuse de reconnaitre que TIGCC est libre parcequ'il y a trop de logiciels a télécharger. grin

avatar

298

> Est-ce que tu peux donner en gros quelles sont les extensions GNU de TIGCC qui seront supportées par GTC et celles qui ne le seront pas ? (donne les plus importantes)
> À chaque fois que je lis un bout de la doc concernant les extensions GNU, je les trouve toutes pratiques. Mais j'avoue que je n'en utilise aucune grin

Je vais donner la liste complète des extensions, sinon Kevin va se vexer wink
*** : extension indispensable ou extrêmement courante
 ** : extension souvent utile, mais dont on peut se passer
 *  : extension d'un intérêt limité
    : extension a priori inutilisée ou alors rarissime

nom de l'extension                             | utilité | implémenté?
-----------------------------------------------------------------------
Statements and Declarations in Expressions          ***   oui
Labels as Values                                     *    non
Nested Functions                                     **   non  (on s'en passe très bien mais le portage n'est pas immédiat)
Referring to a Type with 'typeof'                    **   oui
Generalized Lvalues                                  **   80%  (pas les détails exotiques genre (a,b)+=5)
Conditionals with Omitted Operands                   *    oui
Double-Word Integers                                 **   non
Complex Numbers                                           non
Arrays of Length Zero                               ***   oui
Arrays of Variable Length                            *    non
Macros with Variable Numbers of Arguments           ***   oui
Non-Lvalue Arrays May Have Subscripts                     euh?
Arithmetic on void- and function- pointers          ***   oui
Non-Constant Initializers                            **   oui
Constructor Expressions (Cast Constructors)          **   oui
Labeled Elements in Initializers                     **   oui
Cast to a Union Type                                 *    non
Case Ranges                                          **   oui
Declaring Attributes of Functions                   ***   oui
C++ Style Comments                                  ***   oui
Dollar Signs in Identifier Names                     *    oui
The Character ESC in Constants                            oui
An Inline Function is As Fast As a Macro             **   non
Assembler Instructions with C Expression Operands    **   non
Variables in Specified Registers                          non
Alternate Keywords                                        oui
Getting the Return or Frame Address of a Function         non
Other built-in functions provided by GNU C                oui


Et les extensions complètement inutiles, soit parce que ce sont des extensions
de compatibilité très pointues avec les vieux standard (ce qui n'est pas nécessaire
sur TI), soit parce qu'elles n'ont aucune signification dans GTC (N/A), soit parce
qu'elles n'ont jamais et/ou ne seront certainement jamais utilisées...
Locally Declared Labels                                   non
Naming an Expression's Type                         deprecated?
Constructing Function Calls                               non
Hex Floats                                                non
Prototypes and Old-Style Function Definitions             euh?
Inquiring on Alignment of Types or Variables              non
Incomplete 'enum' Types                                   euh?
Function Names as Strings                                 non
Specifying Attributes of Variables                        N/A
Specifying Attributes of Types                            N/A
Controlling Names Used in Assembler Code                  N/A


> C'est quoi le standart par défaut utilisé par TIGCC ? Parce que j'ai du mal comprendre, mais j'ai l'impression que c'est des bouts de standarts pris d'un peu partout ? D'après la doc, j'ai cru comprendre que le standart par défaut est du C89, avec des extensions GNU (donc non standart) et quelques extensions prises du C99.
C'est le standard C89, plus les extensions GNU (dont certaines extensions font partie du standard C99, par exemple les commentaires C++, mais toutes les extensions GNU sont dans la liste ci-dessus).


> Et Pollux qui refuse de reconnaitre que TIGCC est libre parcequ'il y a trop de logiciels a télécharger.
lol smile mais c clair que c impossible à recompiler. Je suis sûr que personne sur le forum (sauf Kevin smile) n'a essayé de le recompiler...

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

299

bon on va voir je retente ca avec ma machine si j'ai pas réussi avant demain soir d'accord.
avatar

300

un gars l'avait recompilé, TIGCC, et filait une version compilée en O3 plutot que Os, il me semble
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall