330

et moi dans le tas!!!

331

nan mais sérieux geogeo arrete d'essayer de faire de l'humour mourn
avatar

332

Non, mais sérieux arrête de me faire chier. roll
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

333

Si GTC acceptait les classes, les utiliseriez-vous ?

Rajoutes aussi :
Si elles sont acceptées ça me me forçerai les utiliser. ... grin
www.wikio.fr/user1921&info=comments

334

ba c'est pas pour te faire chier, c'est juste que tes vannes on dirait mon frere de 12ans qui essaie de casser neutral
avatar

335

Clair smile

[sondage=13752]

JE DIS GTC MAIS EN FAIT CA CONCERNE AUSSI TIGCC. S'il acceptait les classes, les utiliseriez-vous ?



Résultat très intéressant !
Pollux, tu as un moyen de gagner quelques utilisateurs en implémentant les classes dans ton compilo smile
L'idéal serait que TIGCC les reconnaisse aussi, mais ça risque d'être difficile sad
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.

336

C'est inutile dans GTC.
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

337

Kevin Kofler
: Ben oui, c'est de leur faute si les MFC sont incompatibles avec le standard ISO C++98!

Leur compilateur C++ aussi, au début. Et alors, c'est leur OS, ils en font ce qu'ils veulent. Tout le monde ne release pas des programmes parfaits du premier coup.
BeOS et AtheOS restent nettement plus lourds que MenuetOS qui est écrit en assembleur, ou la distribution Linux de LinuxASM (noyau en C avec un peu d'assembleur, utilitaires en assembleur).

C'est quoi l'interet d'un OS comme MenuetOS sur lequel on ne peut utiliser aucun logiciel existant ?
De plus la différence on la voit quasiment pas sur les machines récentes.
Et puis écrire un assembleur ça fait beaucoup plus de lignes de code, et c'est un enfer à maintenir, sans parler du fait que ça ne tourne que sur une seule plateforme.
Mais plein de trucs sont faits avec des templates alors que des macros suffisent. Exemple type: fonction min pour types quelconques. Et ne me viens pas avec les side-effects: ce n'est pas de ma faute que les comités C et C++ ont refusé de standardiser les "statement expressions" de GCC qui sont la solution optimale à ce problème, nettement plus simple que ces !@#$%^&*() de templates.


Ok tu prends un cas extrême, on y va, voici la version macro :
#define min(a,b) ({ typeof (a) _a = (a); typeof (b) _b = (b); _a < _b ? _a : _b; })


voici la version template :
template<typename T> inline const T& min(const T& a, const T& b) { return a < b ? a : b; }


1ere constatation : gcc produit exactement le même code pour les deux.

2eme constatation : la version template est plus lisible (donc plus facile à maintenir), car c'est une fonction C++ normale, pas besoin d'extension GNU, de variables avec des underscores (qui vont collisionner en plus si on appelle min(_a, x)), et pas de parenthèses superflues autour des paramètres.

3eme constatation : la version template bénéficie d'un des avantages du typage, à savoir un message d'erreur clair en cas d'erreur de typage.
- version template : "error: no matching function for call to `min(st&, int)'" où il y a clairement la fonction et les types impliqués ;
- version macro : "error: invalid operands to binary <" alors que sur la ligne concernée il n'y a même pas de '<'.

4eme constatation : la version template bénéficie d'un avantage que la version macro ne peut pas faire, c'est la spécialisation en fonction du type de données. Effectivement, si dans mon programme j'utilise des types de données particuliers dont la fonction min peut être codée de manière beaucoup plus efficace (par exemple les entiers de l'intervale [0,1]), inutile d'implémenter une fonction min2, comme on le ferait avec les macros, on peut toujours utiliser la fonction min en la spécialisant.
template<> inline const MyType& min(const MyType& a, const MyType& b) { ... }

Par la suite, on utilise toujours min et le compilateur prend l'implémentation qu'il faut. Pas besoin de se trimballer min1, min2, min3... De même pour étendre la fonction min à des types non arithmétiques comme les structures.

Voilà à peu près ce que j'en pense, si tu as des constatations qui vont dans le sens des macro n'hésites pas.
Euh, tu parles de quoi là? CGEN? Si oui, vu que c'est du Scheme (beurk!), c'est normal que personne n'ose y toucher...

Je parlais plus précisement de l'écriture de "peephole optimizers" pour les back-end, désolé. cf. define_peephole et define_peephole2. En gros, la nouvelle méthode est dispo depuis 4 ans deja, et permet l'application successive de plusieurs passes de peephole (donc plus d'optimisation), ce que ne permet pas la première. Pourtant, seulement environ 15% des back-ends l'utilisent exclusivement à l'heure actuelle.
Thibaut
: Si GTC acceptait les classes, les utiliseriez-vous ?

Si ça t'interesse, il y a peut-être des choses proches de ce que tu souhaites faire dans Lightweight C++.
So much code to write, so little time.

338

nitro
:
Kevin Kofler
: Ben oui, c'est de leur faute si les MFC sont incompatibles avec le standard ISO C++98!
Leur compilateur C++ aussi, au début. Et alors, c'est leur OS, ils en font ce qu'ils veulent.

Je ne suis pas d'accord! Les standards ISO ne sont pas là pour que M$ fasse ce qu'ils veulent!
Tout le monde ne release pas des programmes parfaits du premier coup.

Certes, mais eux ils s'en fichent toujours du caractère non-standard des MFC, ils le font même exprès pour empêcher à leurs concurrents de les utiliser avec leurs compilateurs. Ils font aussi les licences exprès pour ça.
BeOS et AtheOS restent nettement plus lourds que MenuetOS qui est écrit en assembleur, ou la distribution Linux de LinuxASM (noyau en C avec un peu d'assembleur, utilitaires en assembleur).
C'est quoi l'interet d'un OS comme MenuetOS sur lequel on ne peut utiliser aucun logiciel existant ?

Sur BeOS non plus... roll
AtheOS est quand-même à peu près compatible avec POSIX, mais BeOS carrément pas.
De plus la différence on la voit quasiment pas sur les machines récentes.

Reviens quand tu auras mis BeOS sur une disquette et quand elle sera toujours à moitié vide. roll
Et puis écrire un assembleur ça fait beaucoup plus de lignes de code, et c'est un enfer à maintenir, sans parler du fait que ça ne tourne que sur une seule plateforme.

C'est pour ça que le C (pas le C++) existe. smile
Mais plein de trucs sont faits avec des templates alors que des macros suffisent. Exemple type: fonction min pour types quelconques. Et ne me viens pas avec les side-effects: ce n'est pas de ma faute que les comités C et C++ ont refusé de standardiser les "statement expressions" de GCC qui sont la solution optimale à ce problème, nettement plus simple que ces !@#$%^&*() de templates.


Ok tu prends un cas extrême, on y va, voici la version macro :
#define min(a,b) ({ typeof (a) _a = (a); typeof (b) _b = (b); _a < _b ? _a : _b; })


voici la version template :
template<typename T> inline const T& min(const T& a, const T& b) { return a < b ? a : b; }

1ere constatation : gcc produit exactement le même code pour les deux.

Pas toujours. Regarde un peu dans Bugzilla, il y a pas mal de problèmes avec les templates.
2eme constatation : la version template est plus lisible (donc plus facile à maintenir), car c'est une fonction C++ normale, pas besoin d'extension GNU, de variables avec des underscores (qui vont collisionner en plus si on appelle min(_a, x)), et pas de parenthèses superflues autour des paramètres.

C'est subjectif. Pour moi, la macro est au moins aussi claire que le template. Et même pour le compilateur, les macros sont plus "lisibles" (faciles à parser), les templates causent plein de conflits de parsing.
3eme constatation : la version template bénéficie d'un des avantages du typage, à savoir un message d'erreur clair en cas d'erreur de typage.
- version template : "error: no matching function for call to `min(st&, int)'" où il y a clairement la fonction et les types impliqués ;

Message d'erreur chinois typique du C++.
- version macro : "error: invalid operands to binary <" alors que sur la ligne concernée il n'y a même pas de '<'.

Très clair comme erreur. Comparaisons entre 2 types incompatibles, donc opérandes invalides pour un opérateur de comparaison. Là, je sais tout de suite ce qui ne va pas.
4eme constatation : la version template bénéficie d'un avantage que la version macro ne peut pas faire, c'est la spécialisation en fonction du type de données. Effectivement, si dans mon programme j'utilise des types de données particuliers dont la fonction min peut être codée de manière beaucoup plus efficace (par exemple les entiers de l'intervale [0,1])

Euh, il n'y en a pas beaucoup là. wink
, inutile d'implémenter une fonction min2, comme on le ferait avec les macros, on peut toujours utiliser la fonction min en la spécialisant.

On peut aussi avec une macro:
#define min(a,b) ({ typeof (a) _a = (a); typeof (b) _b = (b); (__builtin_types_compatible_p(typeof(_a),mastruct) && __builtin_types_compatible_p(typeof(_b),mastruct))? (_a.value && _b.value) : (_a < _b ? _a : _b;) })
Vive le GNU C! tongue
On peut aussi utiliser __builtin_constant_p si tu ne veux pas de structure: __builtin_constant_p((a==0)||(a==1))&&((a==0)||(a==1)).
De même pour étendre la fonction min à des types non arithmétiques comme les structures.

Là aussi, __builtin_types_compatible_p est ce que tu cherches. smile Cf. l'exemple ci-dessus.
Voilà à peu près ce que j'en pense, si tu as des constatations qui vont dans le sens des macro n'hésites pas.

Je posterai un exemple de ld-tigcc quand je serai de retour chez moi. Non seulement, les macros sont utilisées comme des templates et ça marche très bien, mais on fait aussi du Item ## s pour construire un pluriel. Bonne chance pour faire ça avec un template. smile
Euh, tu parles de quoi là? CGEN? Si oui, vu que c'est du Scheme (beurk!), c'est normal que personne n'ose y toucher...
Je parlais plus précisement de l'écriture de "peephole optimizers" pour les back-end, désolé. cf. define_peephole et define_peephole2. En gros, la nouvelle méthode est dispo depuis 4 ans deja, et permet l'application successive de plusieurs passes de peephole (donc plus d'optimisation), ce que ne permet pas la première. Pourtant, seulement environ 15% des back-ends l'utilisent exclusivement à l'heure actuelle.

Certains peepholes sont mieux exécutés tout à la fin, donc en define_peephole.
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é

339

nitro : merci pour le lien, je vais consulter ça avec attention smile


Kevin > Reviens quand tu auras mis BeOS sur une disquette et quand elle sera toujours à moitié vide.
Même codé en ASM, BeOS prendrait plusieurs Mo. Tu as raison, on pourrait beaucoup diminuer la taille des exécutables en codant en ASM et C (ce que tu comptes faire dans ton futur métier ? grin), mais tu as mal choisi l'exemple.
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.

340

MenuetOS, lui, tient sur une demi-disquette. smile
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é

341

Et surtout entièrement en assembleur. D'ailleurs chapeau aux programmeurs qui on fait cette OS. smile
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

342

Mais tu ne comprends pas ce que je veux dire !
Tu as fait la comparaison MOS/BeOS pour argumenter ta thèse "si on programmait en ASM les progs seraient bien plus petits".
Moi je trouve que tu as mal choisi ton exemple parceque ce ne sont pas des OS de la même catégorie. L'un est beaucoup plus évolué et complet que l'autre => même codé en ASM il serait beaucoup beaucoup plus gros que MOS.
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.

343

j'ai un scoop: "kevin comprend jamais rien"

!
avatar

344

Ha non c'est pas un scoop tongue

nitro : c'est pas cool... http://students.ceid.upatras.gr/~sxanth/lwc/lwc-0.6.tar.bz2
Je décompresse avec winRAR et j'obtiens un fichier lwc-0.6.tar.tar.out de 1.35 Mo qui regroupe visiblement plusieurs fichiers en clair doom
On le split comment ?
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.

345

Moi j'ai une erreur radical: "Error reading header after processing 0 entries'. confus
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

346

Kevin Kofler
: Je ne suis pas d'accord! Les standards ISO ne sont pas là pour que M$ fasse ce qu'ils veulent!

Pourtant les développeurs de GCC ne se sont pas gené pour rajouter leurs extensions au standard C...
Certes, mais eux ils s'en fichent toujours du caractère non-standard des MFC, ils le font même exprès pour empêcher à leurs concurrents de les utiliser avec leurs compilateurs.

Bien sûr tu as des preuves concretes pour accuser de la sorte.
C'est quoi l'interet d'un OS comme MenuetOS sur lequel on ne peut utiliser aucun logiciel existant ?

Sur BeOS non plus... roll
AtheOS est quand-même à peu près compatible avec POSIX, mais BeOS carrément pas.

Pourtant sur les 3000 fichiers de BeBits.com, une grande partie sont des portages de logiciels existant sur d'autres plateformes... me demande bien comment ils font triso
Reviens quand tu auras mis BeOS sur une disquette et quand elle sera toujours à moitié vide. roll

Chose vachement utile de nos jours...
Même les consoles et téléphones portables, et les PDA sont suffisamment équippés pour faire du Java et du C++ (cf. SymbianOS). On pourrait penser que pour faire des perfs sur ces plateformes on est obligé de passer par de l'assembleur. Eh bien même pas... les gourous de flipcode eux-mêmes font leur moteur 3D en C++ pour les telephones portables.
Et puis écrire un assembleur ça fait beaucoup plus de lignes de code, et c'est un enfer à maintenir, sans parler du fait que ça ne tourne que sur une seule plateforme.

C'est pour ça que le C (pas le C++) existe. smile

Ok alors maintenant transpose un niveau plus haut. C'est parce que les gros logiciels en C sont impossibles à maintenir que le C++ existe.
1ere constatation : gcc produit exactement le même code pour les deux.

Pas toujours. Regarde un peu dans Bugzilla, il y a pas mal de problèmes avec les templates.

- dans ce cas, ça produit exactement le même code (j'ai testé) ;
- ce n'est pas parce qu'une implémentation de compilateur est buggée que le langage est mauvais.
2eme constatation : la version template est plus lisible (donc plus facile à maintenir), car c'est une fonction C++ normale, pas besoin d'extension GNU, de variables avec des underscores (qui vont collisionner en plus si on appelle min(_a, x)), et pas de parenthèses superflues autour des paramètres.
C'est subjectif. Pour moi, la macro est au moins aussi claire que le template. Et même pour le compilateur, les macros sont plus "lisibles" (faciles à parser), les templates causent plein de conflits de parsing.

Subjectif ? Clairement j'ai cité les raisons pour lesquelles la macro est moins lisible. De plus la collision elle, n'est pas subjective. Et enfin, côté compilateur ça marche suffisamment bien pour être utilisé dans tout plein de projets, dont la STL.
3eme constatation : la version template bénéficie d'un des avantages du typage, à savoir un message d'erreur clair en cas d'erreur de typage.
- version template : "error: no matching function for call to `min(st&, int)'" où il y a clairement la fonction et les types impliqués ;
Message d'erreur chinois typique du C++.

Tu le fais franchement exprès... ou alors on n'a pas la même définition de chinois. Traduit tout bêtement en français ça dit "aucune fonction correspondant à l'appel de la fonction min avec deux arguments de type st& et int". C'est une description exacte et précise du problème.
- version macro : "error: invalid operands to binary <" alors que sur la ligne concernée il n'y a même pas de '<'.
Très clair comme erreur. Comparaisons entre 2 types incompatibles, donc opérandes invalides pour un opérateur de comparaison. Là, je sais tout de suite ce qui ne va pas.

Sauf qu'il n'y a pas d'opérateur de comparaison "<" sur la ligne. L'erreur décrit ce qu'il y a après expansion de la macro. L'utilisateur lui, utilise la syntaxe d'un appel de fonction, donc il s'attend à retrouver la sémantique de l'appel de fonction, et ce n'est absolument pas le cas. Bien souvent il ne connait même pas le contenu de la macro.
Pire encore, imagine qu'on ai : return min(a, 5) < 4; Pour peu que les éléments soient un peu plus compliqués, voir cachés dans d'autres macros, le message d'erreur parle d'un opérateur '<', et il y en a effectivement un sur la ligne. Mais pas de chance c'est pas de celui-là dont on parle.
Donc non, tu ne me fera pas croire que ce message d'erreur est mieux que le précédent. Désolé.
4eme constatation : la version template bénéficie d'un avantage que la version macro ne peut pas faire, c'est la spécialisation en fonction du type de données. Effectivement, si dans mon programme j'utilise des types de données particuliers dont la fonction min peut être codée de manière beaucoup plus efficace (par exemple les entiers de l'intervale [0,1])

Euh, il n'y en a pas beaucoup là. wink

J'ai pris un exemple simple pour que tout le monde voit bien de quelle optimisation je parle grin
#define min(a,b) ({ typeof (a) _a = (a); typeof (b) _b = (b); (__builtin_types_compatible_p(typeof(_a),mastruct) && __builtin_types_compatible_p(typeof(_b),mastruct))? (_a.value && _b.value) : (_a < _b ? _a : _b;) })

Tu trouves ça lisible par rapport à ma spécialisation ? En plus là les deux doivent être définis au même endroit. Ce n'est pas le cas dans mon exemple.
Je posterai un exemple de ld-tigcc quand je serai de retour chez moi. Non seulement, les macros sont utilisées comme des templates et ça marche très bien, mais on fait aussi du Item ## s pour construire un pluriel. Bonne chance pour faire ça avec un template. smile

Construire le pluriel d'un identifiant c'est ce qu'on appelle du bidouillage grin
Et le nombre de choses qu'on peut faire avec des templates est bien supérieur à ce qu'on peut faire avec les macros, car le meta-langage des templates est turing complete. cf C++ Templates and Turing Completeness.
Certains peepholes sont mieux exécutés tout à la fin, donc en define_peephole.

Tu ne va pas me faire croire qu'il vaut mieux executer un peephole une seule fois plutôt que plusieurs fois itérativement jusqu'à ce que le code converge...
So much code to write, so little time.

347

C'est bon, j'ai décompressé l'archive.

J'ai tapé make comme ils disent mais ça déconne. J'ai DevC++. Je suppose qu'il faut une distribution précise de GCC. Laquelle ?
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.

348

Thibaut
: J'ai tapé make comme ils disent mais ça déconne. J'ai DevC++. Je suppose qu'il faut une distribution précise de GCC. Laquelle ?

Ca déconne comment ? Je ne sais pas si c'est sensé bien marcher ou pas, j'ai jamais essayé ce truc là.
So much code to write, so little time.

349

devc++ utilise pas gcc je crois

350

Si wink

nitro : ça me dit que gpp0.exe est introuvable, par exemple. Y'a gpp.exe dans le \bin de DevC++, mais pas de gpp0.
En plus, les .c demandent l'inclusion de <sys\mman> et <sys\mman> qui ne sont pas présents avec DevC++.
J'imagine que lwc a été conçu pour Linux. Y'a pas une distribution de gcc pour DOS ou Window$ qui permet la compilation de tels projets ?
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.

351

Kevin Kofler
:
BeOS et AtheOS restent nettement plus lourds que MenuetOS qui est écrit en assembleur, ou la distribution Linux de LinuxASM (noyau en C avec un peu d'assembleur, utilitaires en assembleur).
C'est quoi l'interet d'un OS comme MenuetOS sur lequel on ne peut utiliser aucun logiciel existant ?

Sur BeOS non plus... roll
AtheOS est quand-même à peu près compatible avec POSIX, mais BeOS carrément pas.


BeOS a été certifié POSIX, j'aimerait bien savoir d'ou tu tiens qu'il ne l'ai pas, justement se qui fait la force de BeOS, c'est qu'il est un des premier OS ecrit a 100% en C++ qui ai été certifié POSIX
De plus la différence on la voit quasiment pas sur les machines récentes.

Reviens quand tu auras mis BeOS sur une disquette et quand elle sera toujours à moitié vide. roll


BeOS n'est pas un OS de demomaker, MenuetOS, si. Sous BeOS, tu fait du multitache préemptif, tu a une pile TCP complete etc... BeOS a été surnommé le "Media OS" car il excelle dans tout se qui est media, MenuetOS n'est pas aussi décrié que l'avait été BeOS..
3eme constatation : la version template bénéficie d'un des avantages du typage, à savoir un message d'erreur clair en cas d'erreur de typage.
- version template : "error: no matching function for call to `min(st&, int)'" où il y a clairement la fonction et les types impliqués ;

Message d'erreur chinois typique du C++.

Il est tres comprehensible au contraire !
Il te dit que tu cherche a utiliser une fonction en passant des parametre incompatibles !

Et quand nitro te parle de ligne ou il y a pas de "<", il te parle de la ligne ou la macro est appelé ! Si tu ne sait pas si min est une macro ou une fonction, sa fait bizzare se genre d'erreur

On peut aussi avec une macro:
#define min(a,b) ({ typeof (a) _a = (a); typeof (b) _b = (b); (__builtin_types_compatible_p(typeof(_a),mastruct) && __builtin_types_compatible_p(typeof(_b),mastruct))? (_a.value && _b.value) : (_a < _b ? _a : _b;) })
Vive le GNU C! tongue
On peut aussi utiliser __builtin_constant_p si tu ne veux pas de structure: __builtin_constant_p((a==0)||(a==1))&&((a==0)||(a==1)).

Là aussi, __builtin_types_compatible_p est ce que tu cherches. smile Cf. l'exemple ci-dessus.

Vive le gnu et son art de ralonger les lignes de 15km de trucs plus inutiles et plus incomprehensibles les un que les autres neutral

Elle est super ta ligne "__builtin_constant_p((a==0)||(a==1))&&((a==0)||(a==1))" ou ton define de min plus complexe et non maintenable, je croit qu'on peut pas faire mieux triso
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.

352

tu peux télecharger cygwin pour avoir gcc sous win smile

353

Thibaut
: Y'a pas une distribution de gcc pour DOS ou Window$ qui permet la compilation de tels projets ?

cygwin ou MinGW.
So much code to write, so little time.

354

Merci, je vais voir ça smile

J'ai bien peur que ce soit un truc over-compliqué à installer... sad
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.

355

cygwin c tout simple.
tu selectionne tes packetages et ca dl et installe tout seul smile

356

pour DOS pur : djgpp marche tres bien (et meme fonctionne avec NT)
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.

357

moué, je viens de voir ça smile
Y'a 50000000 packages.... j'ai bien peur que le DL se finisse dans 2 jours.
Si après tout ce temps de DL je n'arrive pas à compiler lwc, je casse tout hum
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.

358

heu si t'a selectionné tout les packetage aussi.... grin
fallait prendre juste gcc grin

359

Thibaut si tu veux du DOS Pur, pas du windows, utilise plutot djgpp
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.

360

pour cygwin, il faut les lib, gcc et le shell sinon tu risque d'avoir des pbms
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.