1

J'ai un problème avec ExtGraph 2.00 et TIGCC

Avec la fonction GrayClipSprite32_OR_R : elle ne clippe pas justement !!

Quelqu'un a une solution ???
Ben voilà. Ben ouais quoi.

2

extgraph 2.00 ?
avatar
納 豆パワー!
I becamed a natto!!!1!one!

3

Ah, ça me rappelle quelque chose ce problème...

Essaye avec cette routine-là, je ne suis pas sûr que ça soit avec elle que j'ai eu un problème, mais si oui alors elle a du être modifiée par Sasume et elle devrait marcher.

(je ne garantis rien, si ça se trouve elle n'est même pas différente de la tienne, mais ça vaut le coup d'essayer)
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

4

Euh.... je la mets dans un header ?
Ben voilà. Ben ouais quoi.

5

tu peux recompiler extgraph sinon
avatar
納 豆パワー!
I becamed a natto!!!1!one!

6

Soit tu recompile extgraph comme dit liquid, soit tu extrait les fonctions dont t'as besoin depuis les sources pour les ajouter à ton proj, et tu en profite pour utiliser celle là à la place de celle contenue dans le zip.
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

7

Ah ouais on est pas obligé de mettre toute la lib et l'archive c'est bien ça prendre moins de place je suppose
Merci à tous les deux !

Warcraft : Battles c'est pour bientôt !
Ben voilà. Ben ouais quoi.

8

heu, ca prends pas plus de place de mettre toute la lib, vu que c statique, seules les fonctions utilisees ds ton prgm seront ajoutees, les autres seront pas incluses, a l´inverse d´une lib dynamique
avatar
納 豆パワー!
I becamed a natto!!!1!one!

9

Rising Sun
: Ah ouais on est pas obligé de mettre toute la lib et l'archive c'est bien ça prendre moins de place je suppose

Non, ça ne copie dans ton code que les fonctions que tu utilise (c'est l'avantage d'une bibliothèque statique). Mais l'autre méthode fonctionne exactement pareil, du moment que tu le modifie pas le .c ou tu as mit les fonctions d'Extgraph, il n'y aura pas non plus besoin de le recompiler smile

[edit] et hop, un 2eme cross post sad
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

10

Tu as quelle version précisément ?
Je n'ai que ExtGraph 2 beta 1, mais la routine qui est dedans est clippée (enfin, normalement). En tout cas, elle a l'air d'être très proche de celle de Vertyos.
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. »

11

De toutes façons, cette routine est de toi. Mais je ne sais pas si c'est une version corrigée ou si elle vient directement d'Extgraph. Tout ce dont je me rappelle c'est qu'une des fonctions de sprites d'Extgraph 2.00 était buggée et que tu m'as envoyé une correction, mais la version dispo sur le site tict ne doit pas être à jour -> y'a des chances pour que ce soit cette routine-là, autant essayer.
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

12

Moi, il me semble que toutes les routines clippées que j'avais écrites avaient le même bug (un if(a<b) au lieu de if(a<=b)), et que ça provoquait une écriture en dehors du buffer de destination. Il me semble que la routine que tu avais était une vieille qui serait la future routine d'extgraph, mais qu'entretemps, j'ai corrigé le bug de celle qu'on a mise dans extgraph.
Ce que je viens d'écrire est incompréhensible, le plus simple est de vérifier. Je le fais tout de suite.
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. »

13

OK, c'est bon, je viens de vérifier avec diff, et les fichiers sont les mêmes (sauf la première ligne qui est un commentaire).
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. »

14

Ok, alors c'était une autre, mais il y a une des routines que j'utilise que tu as modifié par rapport à la version du zip.
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

15

Ca n'a absolument rien changé neutral

Que faire ?
Ben voilà. Ben ouais quoi.

16

Ah, donc c'est un autre bug.
Tu peux m'envoyer un source compilable qui montre le bug (si possible sans trop de code inutile autour) ?
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. »

17

non ca revient pas au meme de complier avec un *.a et d'ajouter le code dans le fichier *.c ... si tu ajoute les fonctions dans le fichier *.c le compilo optimisera les bcc contrairement au *.a et a u fait de mettre du code dans plusieurs fichiers *.c

18

Ouch...
Euh oui merci JackosKing (hoche la tête en ayant l'air d'avoir compris)
Ben voilà. Ben ouais quoi.

19

JackosKing
: non ca revient pas au meme de complier avec un *.a et d'ajouter le code dans le fichier *.c ... si tu ajoute les fonctions dans le fichier *.c le compilo optimisera les bcc contrairement au *.a et a u fait de mettre du code dans plusieurs fichiers *.c

Si tu le mets dans un .a, c'est le linker qui optimisera ça, donc ça revient au même!
Mais arrêtez de penser en les termes de TIGCC 0.94!
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é

20

Un linker ne peut jamais optimiser aussi bien qu'un compilo (optimisation du flux de données, etc...)

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

21

Tu n'as visiblement pas compris. Relis mieux! Il dit que GCC "optimisera les bcc" (bsr en l'occurrence) et le linker fait ça très bien. (D'ailleurs, même à l'intérieur d'un fichier source, ce n'est pas GCC qui fait ça, mais GNU as.)

GCC 3.3 n'optimise rien du tout intraprocéduralement, il n'y a que les optimisations des branchements faits par l'assembleur, donc le linker peut optimiser tout aussi bien.
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é

22

Je te remercie, j'avais bien lu le message. Mais il n'empêche que son argument de fond reste valable, à savoir qu'un compilo optimise mieux s'il a un seul .c que s'il en a plusieurs... Si ce n'est pas encore le cas (<troll> parce que GCC n'est pas encore au point tongue </>), ça le sera peut-être un jour.

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

23

Tout mettre dans un .c n'est pas une solution. C'est un hack pour un problème qui n'existe pas encore, et qui même s'il existra un jour ne sera que temporaire. GCC 3.4 permettra justement aussi de compiler plusieurs fichiers .c en même temps (oui, comme GTools Compiler grin) pour résoudre ce problème, par exemple. Quant aux .a, il y aura certainement un moyen de mettre des trucs optimisables en temps de linking dedans. Va voir par exemple le projet LLVM.
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é

24

Tiens c'est marrant ce projet happy Ils prévoient même d'exporter du code C portable, ce qui voudrait dire qu'on pourrait recompiler un prog Java ou C++ en prog C cheeky Cela dit, j'ai qd même certains doutes (dépendance vis-à-vis de l'endianness ou de la taille des types de bases ?)

Pour revenir à nos moutons :
- si tu me fais un front-end pour LLVM, tant mieux... (je pourrais te passer les sources du front-end pour relier le front-end de GTC au nouveau générateur de code)
- la moindre des choses serait qu'il y ait tjs un binaire compilé en plus du truc non-compilé
- pour l'instant LLVM balbutie : il ne compile pas (encore?) les nested functions, par exemple

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

25

Pollux :
Tiens c'est marrant ce projet happy

Il y a d'ailleurs pas mal de trucs qui marchent déjà. (Ils en sont à la release 1.1.)
Cela dit, j'ai qd même certains doutes (dépendance vis-à-vis de l'endianness ou de la taille des types de bases ?)

Contrairement aux fichiers objet traditionnels, leur langage intermédiaire est typé.
Pour revenir à nos moutons : - si tu me fais un front-end pour LLVM, tant mieux... (je pourrais te passer les sources du front-end pour relier le front-end de GTC au nouveau générateur de code)

Il y a déjà un frontend C pour LLVM. smile
- la moindre des choses serait qu'il y ait tjs un binaire compilé en plus du truc non-compilé

Évidemment. Si jamais un TIGCC du futur utilise LLVM, ce ne sera pas avec le JIT, mais avec un générateur de code. Soit leur générateur C, soit un générateur 68k (qui n'existe pas encore).
- pour l'instant LLVM balbutie : il ne compile pas (encore?) les nested functions, par exemple

Oui, mais bon, ce n'est pas du C standard, et puis TIGCC a aussi ses problèmes avec les "nested functions", surtout sur la "Titanic". sad
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é

26

Kevin Kofler
:
Pollux :
Tiens c'est marrant ce projet happy
Il y a d'ailleurs pas mal de trucs qui marchent déjà. (Ils en sont à la release 1.1.)

Moui, g pas essayé en détail. Il compile des gros trucs ou pas?
Cela dit, j'ai qd même certains doutes (dépendance vis-à-vis de l'endianness ou de la taille des types de bases ?)
Contrairement aux fichiers objet traditionnels, leur langage intermédiaire est typé.

Voui, mais j'ai vu des déclaration d'endianness dans mes qques tests... ce qui laisserait entendre que le code généré peut en dépendre (à moins qu'il ne se débrouillent toujours avec des union & co, auquel cas c'est assez fort s'ils arrivent à faire un back-end pour n'importe quel langage).
Pour revenir à nos moutons : - si tu me fais un front-end pour LLVM, tant mieux... (je pourrais te passer les sources du front-end pour relier le front-end de GTC au nouveau générateur de code)

Il y a déjà un frontend C pour LLVM. smile

Ah, OK. Faudrait que j'essaye, alors (pour l'instant j'ai juste essayé leur "compilateur web", qui ne supportait pas l'option).
- la moindre des choses serait qu'il y ait tjs un binaire compilé en plus du truc non-compilé
Évidemment. Si jamais un TIGCC du futur utilise LLVM, ce ne sera pas avec le JIT, mais avec un générateur de code. Soit leur générateur C, soit un générateur 68k (qui n'existe pas encore).

Y a aussi un JIT eek
- pour l'instant LLVM balbutie : il ne compile pas (encore?) les nested functions, par exemple

Oui, mais bon, ce n'est pas du C standard, et puis TIGCC a aussi ses problèmes avec les "nested functions", surtout sur la "Titanic". sad

Arf, oui... Enfin bon ce que je veux dire c qu'on est pas près de recompiler KDE avec LLVM par exemple tongue

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

27

Leur compilateur web te demande justement si ce que tu veux compiler est du C ou du C++.
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é

28

Pollux
:
- la moindre des choses serait qu'il y ait tjs un binaire compilé en plus du truc non-compilé
Évidemment. Si jamais un TIGCC du futur utilise LLVM, ce ne sera pas avec le JIT, mais avec un générateur de code. Soit leur générateur C, soit un générateur 68k (qui n'existe pas encore).

Y a aussi un JIT eek

Oui, et leur serveur web tourne dessus! Ou du moins c'était le cas au départ, je ne trouve plus la référence maintenant.
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é

29

Kevin Kofler
: Leur compilateur web te demande justement si ce que tu veux compiler est du C ou du C++.

Ah, tu parlais d'un frontend. Je croyais que tu parlais d'un backend... (ce qui aurait arrangé les choses question portabilité)

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

30

Il y a aussi un backend C. Mais en effet, la démo web ne le montre pas.
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é