forumti.gif
@_ö
(15:52)  Bienvenue ! - Inscrivez vous pour poster ! -
@Boo, RYGAR, Uther, Xirius_Thir, mez, phoz182, scaravagor, 62 inconnu(s), 29 bot(s)

Login :  Mot de passe :      Se souvenir de moi.  Mot de passe perdu ?
/!\:: Cliquez ici pour vous inscrire et poster, créer des sujets ou des forums ! ::/!\
 « Précédent - 10/14 - Suivant » :: Pages
 Index » Forum Ti 89, Titanium / 92+ / Voyage 200 et TI-Nspire » Prog C TI (398r) » Librairie dynamique
./269 - REPRISE AUTOMATIQUE DU MESSAGE PRECEDENT
16.06.2001 - 61161
23:37  squalyl - Posté : 19-11-2009  M
Flanker: il veut pas de reloc car il veut faire du code flash XIP sous pedrom ^^


GC: la réentrance, sur TI, on en a un peu rien à péter si on fait pas de récursivité ^^
c'est pas comme si elle était multithread la bébête smile
./Publicité AdSense
./270
18.06.2001 - 26934
15:24  Folco - Posté : 20-11-2009  M
Rah le C, c'est définitivment bon #trilove#

Je vais pouvoir plus bosser sur les concepts que les registres, sur les algos que sur les pointeurs de pile, et sur l'organisation de mon programme plutôt que sur les cycles. #hehe#

Mais l'assembleur reste super sympa à coder, et j'imagine parfois inévitable sur une machine comme ça.
avatar<<< Kernel Extremist©®™ >>> WIP : r10 - 2014-11-24

Les ministres ne sont que des commis chargés d'exécuter les ordres des grands banquiers, des pantins dont la Haute Banque tire les ficelles. Alexandre Millerand, président du conseil des ministres...

Un des bienfaits de la Révolution est d'avoir livré la France aux hommes d'argent qui, depuis cent ans, la dévorent. Anatole France
./271
10.06.2001 - 27738
15:28  Pen^2 - Posté : 20-11-2009  M
Folco (./270) :
Je vais pouvoir plus bosser sur les concepts que les registres, sur les algos que sur les pointeurs de pile, et sur l'organisation de mon programme plutôt que sur les cycles. /v31/gfx/s3/hehe.gif

eh oui happy Et encore, le C ça reste bien lourdingue (gestion des strings par exemple #couic#)
./272
15.06.2003 - 7786
15:30  GoldenCrystal - Posté : 20-11-2009  @_ö
Folco (./270) :
Mais l'assembleur reste super sympa à coder, et j'imagine parfois inévitable sur une machine comme ça.
En fait des que tu veux toucher à un truc un peu poussé comme le graphisme ou un interpréteur (pour un hypothétique langage X), l'assembleur est très recommandé ouais ^^
avatarLe scénario de notre univers a été rédigée par un bataillon de singes savants. Tout s'explique enfin.
T'as un problème ? Tu veux un bonbon ?
[CrystalMPQ] C# MPQ Library/Tools - [CrystalBoy] C# GB Emulator - [Monoxide] C# OSX library - M68k Opcodes
./273
16.06.2001 - 61161
15:50  squalyl - Posté : 20-11-2009  M
Folco : enfin tu découvres la Vraie Religion : le C \o/
(#triprovoc#)

(ceci dit une petite routine asm par ci par là quand le compilo s'en sort pas tout seul, faut pas s'en priver)
./274
18.06.2001 - 26934
17:27  Folco - Posté : 20-11-2009  M
Tiens, je t'aurais plutôt pensé javintégriste toi cheeky

Tiens, autre chose.

C'est propre ce genre de truc :
while (i = i >> 1) {...}

ie faire l'affectation dans la condition ?
avatar<<< Kernel Extremist©®™ >>> WIP : r10 - 2014-11-24

Les ministres ne sont que des commis chargés d'exécuter les ordres des grands banquiers, des pantins dont la Haute Banque tire les ficelles. Alexandre Millerand, président du conseil des ministres...

Un des bienfaits de la Révolution est d'avoir livré la France aux hommes d'argent qui, depuis cent ans, la dévorent. Anatole France
./275
13.06.2002 - 38232
17:47  @Zeph - Posté : 20-11-2009  M
Bah si ça t'évite un code sensiblement plus long, oui c'est un bon choix ("propre" ça ne veut pas dire grand chose à ce niveau).

Par contre il me semble que GCC râle si tu n'ajoutes pas une paire de parenthèse autour. Il fait ça pour être sûr que tu veux bien utiliser une affectation, et que ce n'est pas un "while (i == i >> 1)" avec une faute de frappe.
avatarNever mind. It's a mystery I'll solve later. By myself. Because you'll be dead.
------------------------------------------
:: It offers what you want, not what you need
3l33t :: Relax, we understand j00 ^^
./276
16.06.2003 - 25898
17:47  Sally - Posté : 20-11-2009  F
Non. La boucle for sert un peu à ça tongue (et pourquoi tu n'écris pas >>= ?)

edit (cross) : oui effectivement il faut doubler les parenthèses (et heureusement qu'il y a ce warning d'ailleurs ^^')

mais euh for( ; i; i >>= 1) n'est pas vraiment sensiblement plus long (bon après c'est vrai que le terme de « propre » n'est pas le mieux choisi, disons qu'avec le for ça me semble bien plus lisible)
avatar« Le bonheur, c'est une carte de bibliothèque ! » — The gostak distims the doshes.
Forum Cultures du mondeforum littéraire
Membrane fondatrice de la confrérie des artistes flous.
L'univers est-il un dodécaèdre de Poincaré ?
(``[u]·[/u] powaaaaaaaaa ! #love#
./277
13.06.2002 - 38232
17:53  @Zeph - Posté : 20-11-2009  M
Ça ne fait pas la même chose, il veut effectuer le décalage et tester la condition de boucle sur le résultat, alors que ton for commence par tester la valeur actuelle avant de la décaler.

Son truc est seulement équivalent à for (; (i >>= 1); ) c'est à dire while ((i >>= 1)) ^^
avatarNever mind. It's a mystery I'll solve later. By myself. Because you'll be dead.
------------------------------------------
:: It offers what you want, not what you need
3l33t :: Relax, we understand j00 ^^
./278
16.06.2003 - 25898
18:03  Sally - Posté : 20-11-2009  F
Ah... ah oui mince autant pour moi (mais bon c'est tordu embarrassed)

du coup il me semble que c'est équivalent à for (i >>= 1; i; i >>= 1) non ? cheeky (qui est certes un peu redondant et un peu plus long, mais me semble néanmoins plus clair, enfin ce que j'en dis...)
avatar« Le bonheur, c'est une carte de bibliothèque ! » — The gostak distims the doshes.
Forum Cultures du mondeforum littéraire
Membrane fondatrice de la confrérie des artistes flous.
L'univers est-il un dodécaèdre de Poincaré ?
(``[u]·[/u] powaaaaaaaaa ! #love#
./279
18.06.2001 - 26934
18:06  Folco - Posté : 20-11-2009  M
Zephyr (./277) :
Ça ne fait pas la même chose, il veut effectuer le décalage et tester la condition de boucle sur le résultat, alors que ton for commence par tester la valeur actuelle avant de la décaler.

Ah merci, je commançais à me demander ^^
Zephyr (./277) :
c'est à dire while ((i >>= 1))

Voilà, c'est bien ça que je veux. Ca me fait gagner une constante dans une opération, c'est parfait.

Merci encore (et encore (etc...)) pour vos avis. smile
avatar<<< Kernel Extremist©®™ >>> WIP : r10 - 2014-11-24

Les ministres ne sont que des commis chargés d'exécuter les ordres des grands banquiers, des pantins dont la Haute Banque tire les ficelles. Alexandre Millerand, président du conseil des ministres...

Un des bienfaits de la Révolution est d'avoir livré la France aux hommes d'argent qui, depuis cent ans, la dévorent. Anatole France
./280
06.02.2003 - 7268
18:20  geogeo - Posté : 20-11-2009  M
Faut faire attention aux écritures 'compressées'. Si on peut éviter de faire une affectation et un test en même temps dans une boucle, ça sera toujours mieux.
avatarla 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.
./281
16.06.2003 - 25898
18:46  Sally - Posté : 20-11-2009  F
#crayon#, je trouve toujours pas ce truc très lisible (si je relis le topic dans 6 mois je risque de refaire la même erreur d'interprétation grin)
avatar« Le bonheur, c'est une carte de bibliothèque ! » — The gostak distims the doshes.
Forum Cultures du mondeforum littéraire
Membrane fondatrice de la confrérie des artistes flous.
L'univers est-il un dodécaèdre de Poincaré ?
(``[u]·[/u] powaaaaaaaaa ! #love#
./282
10.06.2001 - 33210
21:10  Kevin Kofler - Posté : 20-11-2009  M
Moi, je suis pour ce genre d'écritures, pourquoi écrire quelque chose de long quand on peut faire plus court? (Mais évidemment, i = i >> 1 est moche pour la même raison, comme déjà évoqué, >>= sert à ça.)
avatarMes news pour calculatrices TI: Ti-Gen (fr/en), MobiFiles (de)
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é
./283
16.06.2003 - 25898
21:15  Sally - Posté : 20-11-2009  F
Kevin Kofler (./282) :
pourquoi écrire quelque chose de long quand on peut faire plus court?
Ouais, par exemple pourquoi donner des noms de plus de deux lettres aux fonctions, à moins d'en avoir plus de 26² ? cheeky
c'est débile comme argument, surtout que si tu aimes la concision faut pas programmer en C tongue
Je préfère faire concis en général, mais il y a des limites quoi ^^
avatar« Le bonheur, c'est une carte de bibliothèque ! » — The gostak distims the doshes.
Forum Cultures du mondeforum littéraire
Membrane fondatrice de la confrérie des artistes flous.
L'univers est-il un dodécaèdre de Poincaré ?
(``[u]·[/u] powaaaaaaaaa ! #love#
./284
10.06.2001 - 33210
21:19  Kevin Kofler - Posté : 20-11-2009  M
Sally (./283) :
Ouais, par exemple pourquoi donner des noms de plus de deux lettres aux fonctions, à moins d'en avoir plus de 26² ? cheeky

C'est bien pour ça que la macro appelée en général Q_89_92 ou C_89_92 dans les programmes de Zeljko et de la TICT s'appelle juste Q dans Backgammon. tongue
avatarMes news pour calculatrices TI: Ti-Gen (fr/en), MobiFiles (de)
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é
./285
13.06.2002 - 38232
21:40  @Zeph - Posté : 20-11-2009  M
Oui mais toi on t'a déjà dit 100 fois que tu ne savais pas coder proprement, entre tes macro "Q" et tes "indice[tableau]", pas la peine de le rappeler une fois de plus grin
avatarNever mind. It's a mystery I'll solve later. By myself. Because you'll be dead.
------------------------------------------
:: It offers what you want, not what you need
3l33t :: Relax, we understand j00 ^^
./286
10.06.2001 - 27738
23:33  Pen^2 - Posté : 20-11-2009  M
#crayon#
./287
11.07.2003 - 52490
23:52  flanker - Posté : 20-11-2009  M
#epee#
avatar<<< Kernel Extremist©®™ >>>
Aviations Militaires
<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appetissant
./288
10.06.2001 - 33210
00:07  Kevin Kofler - Posté : 21-11-2009  M
2[(short*)p] est plus court que ((short*)p)[2] (et ça ne marche pas sans ces parenthèses supplémentaires), je n'y peux rien. tongue
avatarMes news pour calculatrices TI: Ti-Gen (fr/en), MobiFiles (de)
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é
./289
30.06.2001 - 54905
00:18  Godzil - Posté : 21-11-2009  M
et tellement plus moche
avatar
Proud to be CAKE©®™
The cake is a lie! - Love your weighted companion cube

->986-Studio's Wonder Project!<-
./290
03.11.2002 - 10826
00:34  Brunni - Posté : 21-11-2009  M
Sally (./278) :
Ah... ah oui mince autant pour moi (mais bon c'est tordu embarrassed)

du coup il me semble que c'est équivalent à for (i >>= 1; i; i >>= 1) non ? cheeky (qui est certes un peu redondant et un peu plus long, mais me semble néanmoins plus clair, enfin ce que j'en dis...)

Oué mais la version claire ce serait:
for (; i > 1; i /= 2)
Avec i non signé, bien sûr. Mais ça reste assez horrible à lire globalement, surtout que i désigne habituellement un index et devrait donc évoluer linéairement. Sinon >>= 1 peut être mieux pour mettre l'emphase sur le côté logique de l'opération.
avatarAvatar fait avec GIMP. Parce que les outils libres ça peut servir à autre chose que casser les pieds aux autres.

"La vie est un grand terrain de jeu. On le sait quand on est enfant mais on l’oublie en grandissant."

http://www.mobile-dev.ch/
./291
16.06.2003 - 25898
00:45  Sally - Posté : 21-11-2009  F
Ben non ta version est décalée d'un cran (même si contrairement à celle que j'avais mise au début elle fait le bon nombre d'itérations)
avatar« Le bonheur, c'est une carte de bibliothèque ! » — The gostak distims the doshes.
Forum Cultures du mondeforum littéraire
Membrane fondatrice de la confrérie des artistes flous.
L'univers est-il un dodécaèdre de Poincaré ?
(``[u]·[/u] powaaaaaaaaa ! #love#
./292
03.11.2002 - 10826
00:49  Brunni - Posté : 21-11-2009  M
Arf oué... quelle horreur en fait grin Dans ce cas je pense que je ferais quand même:
i >>= 1;
while (i != 0) {
// Traitement
i >>= 1;
}

Par question de clarté (la preuve on est tous tombés dans le panneau à part Zéphyr). Les for sont facilement illisibles en C si elles n'ont pas leur forme standard. J'ai d'ailleurs un collègue de classe qui ADORE faire des boucles for sans corps, je te laisse imaginer le truc... cheeky
avatarAvatar fait avec GIMP. Parce que les outils libres ça peut servir à autre chose que casser les pieds aux autres.

"La vie est un grand terrain de jeu. On le sait quand on est enfant mais on l’oublie en grandissant."

http://www.mobile-dev.ch/
./293
10.06.2001 - 33210
00:59  Kevin Kofler - Posté : 21-11-2009  M
J'aime bien les while (*++p); moi aussi. tongue
avatarMes news pour calculatrices TI: Ti-Gen (fr/en), MobiFiles (de)
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é
./294
03.11.2002 - 10826
01:08  Brunni - Posté : 21-11-2009  M
Pas terrible je trouve. while (*p++) passe encore puisque c'est habituel (mais c'est encore moins compréhensible, à priori on ne sait pas si ça incrémente ce qu'il y a à l'adresse p ou p lui même après avoir lu ce qu'il y a à cette adresse) tout comme while (i--) mais perso je me limite vraiment à ça, et uniquement dans le traitement de chaînes de caractères ou de blocs mémoire en général...
Sinon tu peux aussi faire if (f = fopen(...)), mais sinon l'affectation dans les conditions en général c'est crade.
avatarAvatar fait avec GIMP. Parce que les outils libres ça peut servir à autre chose que casser les pieds aux autres.

"La vie est un grand terrain de jeu. On le sait quand on est enfant mais on l’oublie en grandissant."

http://www.mobile-dev.ch/
./295
06.02.2003 - 7268
01:17  geogeo - Posté : 21-11-2009  M
./293 Plus illisible que ça tu meurs. Au moins ça permet d'éviter une reprise de son code et de faire de la maintenance. C'est les seuls points positifs que j'arrive à trouver !
Coder aujourd'hui comme des crados des optimisations que le compilateur assume très bien, c'est totalement stupide. Prévilégiez la maintenance du code aux optimisations !

Malheuresement le C est trop permissif.
Avoir ce genre de paradigme est 100% mieux je trouve:
while (eof(s) == false) {
char c = getCurrent(s);
// Traitement
next(s);
}
avatarla 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.
./296
10.06.2001 - 33210
02:52  Kevin Kofler - Posté : 21-11-2009  M
Beurk, == false. #sick# On se demande pourquoi l'opérateur ! a été inventé. #roll#
avatarMes news pour calculatrices TI: Ti-Gen (fr/en), MobiFiles (de)
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é
./297
06.02.2003 - 7268
02:54  geogeo - Posté : 21-11-2009  M
Une abération de plus après == ça change pas grand chose. Tout comme le sont les >>=, i+=*p++>>k (ça existe ce genre de code).
avatarla 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.
./298
10.06.2001 - 33210
02:58  Kevin Kofler - Posté : 21-11-2009  M
Ta boucle peut s'écrire: for (;!eof(s);next(s)) { …
avatarMes news pour calculatrices TI: Ti-Gen (fr/en), MobiFiles (de)
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é
./299
18.06.2001 - 26934
11:17  Folco - Posté : 21-11-2009  M
Même sur PC, Kevin est pour l'optimisation taille. grin
avatar<<< Kernel Extremist©®™ >>> WIP : r10 - 2014-11-24

Les ministres ne sont que des commis chargés d'exécuter les ordres des grands banquiers, des pantins dont la Haute Banque tire les ficelles. Alexandre Millerand, président du conseil des ministres...

Un des bienfaits de la Révolution est d'avoir livré la France aux hommes d'argent qui, depuis cent ans, la dévorent. Anatole France
./Publicité AdSense
 « Précédent - 10/14 - Suivant » :: Pages
 Index » Forum Ti 89, Titanium / 92+ / Voyage 200 et TI-Nspire » Prog C TI (398r) » Librairie dynamique

./Poster un nouveau message. - Ouvrir dans une nouvelle fenêtre
Login : Mot de passe :

url - image - media  
spoiler - pre - fixed
quote - box - hr
poll - code





Smileys
Smileys perso
Pièce jointe
     Flood control (?) :    
Les messages postés sont la propriété de leurs auteurs. Nous ne sommes pas responsables de leurs contenus.

» yN ©1624 - Aide / Charte / Crédits
71ms | Statistiques