Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#651 Le 28/06/2010, à 02:30

Pylades

Re : /* Topic des codeurs couche-tard [1] */

grim7reaper a écrit :

C'est sur que si tu veux juste la taille c'est sortir le bazooka pour tuer une mouche tongue.

En parlant de ça, il y a un insecte à grosses pattes et à grosse ailes qui est rentré dans ma chambre et qui fait un boucan du diable. J’ai ouvert la fenêtre, mais ce con ne daigne pas sortir. Et bien sûr, impossible de lui taper dessus, proximité avec la chambre parentale oblige… hmm
Quel chieur ! mad

grim7reaper a écrit :

Je suppose que tu ne teste pas les retours de tout les scanf() et tout les printf() big_smile, donc non ce n'est pas grave. Faut tester seulement si l'opération est indispensable pour la suite (i.e si elle échoue ton programme se vautre).
C'est à toi d'évaluer les risques.

Je ne teste jamais les printf ^^, de toutes façons, printf et scanf renvoient un nombre de caractères écrits ou lus, et pas des codes d’erreur. tongue
Et puis je n’ai pas l’habitude d’utiliser scanf.

En revanche, j’aime bien tout tester, mais là je trouve ça un peu superflu. Si ça échoue, le programme a un comportement incohérent, mais ça n’échouera pas si ne fais pas de conneries.

grim7reaper a écrit :

Dans ton cas, inutile d'utiliser les f*o (le mec qui te présente un source, de bf en plus, de plus de 4Go c'est un grand malade).
Je ne suis même pas sûr que gcc accepte des fichiers si gros en entrée en tant que source (faut déjà les pondre les 4Go de lignes de code tongue).

Oui, je sais. ^^


Édit : c’est bon, je crois que mon insecte est enfin parti. \o/

Dernière modification par Pylade (Le 28/06/2010, à 02:32)


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne

#652 Le 28/06/2010, à 02:41

Pylades

Re : /* Topic des codeurs couche-tard [1] */

Putain !

/usr/include/bits/stdio2.h:285: warning: will never be executed
/usr/include/bits/stdio2.h:282: warning: will never be executed

Les moteurs de recherchent ne me trouvent rien de bien intéressant là dessus ! mad
(Au choix : 404 ou noyé dans un interminable log. hmm)


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne

#653 Le 28/06/2010, à 02:41

grim7reaper

Re : /* Topic des codeurs couche-tard [1] */

Pylade a écrit :

Je ne teste jamais les printf ^^, de toutes façons, printf et scanf renvoient un nombre de caractères écrits ou lus, et pas des codes d’erreur. tongue

Oui, mais tu peux tester pour voir si tu as tout écris tongue.

Et puis je n’ai pas l’habitude d’utiliser scanf.

scanf() est une super fonction, mais faut pas l'utiliser si c'est l'utilisateur qui est en face.

Sinon pour les tests, je teste surtout le retour de leurs variante en f* dans le cas de sauvegarde par exemple (là c'est important de vérifier la bonne lecture/écriture pour ne pas récupérer/produire de données corrompues).

Édit : c’est bon, je crois que mon insecte est enfin parti. \o/

\o/
Encore un truc dû à l'été et son abominable chaleur.

Édit : quand je regarde la gueule du code de stdio2.h (les lignes 282 et 285) je serais bien incapable de dire si ça va s'exécuter ou pas ^^.

Dernière modification par grim7reaper (Le 28/06/2010, à 02:44)

Hors ligne

#654 Le 28/06/2010, à 02:48

Pylades

Re : /* Topic des codeurs couche-tard [1] */

grim7reaper a écrit :

Oui, mais tu peux tester pour voir si tu as tout écris tongue.

C’est un peu le principe de ces fonctions, de ne pas connaître la taille de ce que tu as écrit. tongue
À la rigueur, tu peux comparer le retour de snprintf à la taille maximale que tu lui as accordé, pour si tu as eu la place, mais c’est tout…

Et de toutes façons, ceci est à bannir :

scanf("%s", str);

mad

grim7reaper a écrit :

Sinon pour les tests, je teste surtout le retour de leurs variante en f* dans le cas de sauvegarde par exemple (là c'est important de vérifier la bonne lecture/écriture pour ne pas récupérer/produire de données corrompues).

big_smile


Bon, j’ai toujours mon warning à la con, moi…


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne

#655 Le 28/06/2010, à 02:52

grim7reaper

Re : /* Topic des codeurs couche-tard [1] */

Sinon, point de vue algo, tu comptes utiliser quelle approche pour ton interpréteur ?

Hors ligne

#656 Le 28/06/2010, à 03:06

nesthib

Re : /* Topic des codeurs couche-tard [1] */

smile


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#657 Le 28/06/2010, à 03:11

Pylades

Re : /* Topic des codeurs couche-tard [1] */

Je ne sais pas si on peut parler d’algo, mais je compte faire une chaîne contant le code et rien que le code (excision des commentaires préalable), qui est lue gentiment en incrémentant un compteur.

Pour les donnés, je veux faire un buffer circulaire (enfin un vague imitation, avec l’opérateur %), pour pouvoir bouger dans les deux sens (commandes > et <) ; tout en retenant le plus loin où l’on s’est déjà aventuré de chaque côté, pour faire un realloc quand nécessaire (je compte y aller par tranches de 16 ou 32).

Pour la commande ], je compte faire une fonction qui décrémente le compteur, tout en comptant les ] croisés pour sauter au [ correspondant.

En fait, ce n’est pas l’algo qui me pose problème, c’est l’I/O… hmm

Dernière modification par Pylade (Le 28/06/2010, à 03:17)


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne

#658 Le 28/06/2010, à 03:21

grim7reaper

Re : /* Topic des codeurs couche-tard [1] */

La mémoire n'est pas circulaire donc je ne vois pas l'intérêt du buffer circulaire.
Dans la définition de base la mémoire n'est pas circulaire, enfin c'est assez flou mais un programme bf portable ne doit pas se baser sur la circularité il me semble car ce n'est pas assuré que le compilo/l'interpréteur implémente cette fonctionnalité.

Hors ligne

#659 Le 28/06/2010, à 03:26

Pylades

Re : /* Topic des codeurs couche-tard [1] */

Justement, mais je ferai comme ça juste par commodité dans le code. Je ferai les realloc (par tranche de 16 ou 32) quand ce sera nécessaire, histoire que l’on ne voie pas la circularité.
C’est juste un hack pour pouvoir bouger le pointeur brainfuck dans les deux sens facilement.

Et bonne nuit à tous. smile

Dernière modification par Pylade (Le 28/06/2010, à 03:27)


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne

#660 Le 28/06/2010, à 03:30

grim7reaper

Re : /* Topic des codeurs couche-tard [1] */

Je ne vois pas trop l'intérêt (le fait qu'il soit 3h mat' doit jouer), mais avec un tableau ça marche aussi bien, tu bouges dans les 2 sens sans aucun modulo.

Hors ligne

#661 Le 28/06/2010, à 03:42

Кຼزດ

Re : /* Topic des codeurs couche-tard [1] */

plop


dou

Hors ligne

#662 Le 28/06/2010, à 04:22

grim7reaper

Re : /* Topic des codeurs couche-tard [1] */

BN World !

Hors ligne

#663 Le 28/06/2010, à 04:30

samυncle

Re : /* Topic des codeurs couche-tard [1] */

Points


Hello world

Hors ligne

#664 Le 28/06/2010, à 09:21

tshirtman

Re : /* Topic des codeurs couche-tard [1] */

scanf n'est pas mauvaise, il ne faut juste pas s'en servir pour demander des chaines de caractères (on lui préfèrera fgets), à ma connaissance elle ne pose pas d'autres problèmes…

Hors ligne

#665 Le 28/06/2010, à 09:39

Pylades

Re : /* Topic des codeurs couche-tard [1] */

Ouais, enfin il faut l’utiliser sur du texte formaté ou avec une saisie sécurisée.

grim7reaper a écrit :

Je ne vois pas trop l'intérêt (le fait qu'il soit 3h mat' doit jouer), mais avec un tableau ça marche aussi bien, tu bouges dans les 2 sens sans aucun modulo.

Justement, j’utilise un tableau ; et j’émule un buffer circulaire avec %


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne

#666 Le 28/06/2010, à 09:42

Compteur du TdCCT

Re : /* Topic des codeurs couche-tard [1] */

Scores totaux, depuis le début :

1) 631    samuncle
2) 560    nesthib
3) 555    Pylade
4) 508+5  grim7reaper ** bonus +5 pour avoir répondu à ce post : ./viewtopic.php?pid=3486252#p3486252 **
5) 426    mathieuI
6) 284    cm-t
7) 245    helly
8) 173    gnuuat
9) 121    ǤƦƯƝƬ
10) 119    tshirtman
11) 97    \\Ouranos//
12) 93    petifrancais
13) 42    pierguiard
14) 37    ilagas
14) 37    Lagierl
14) 37    Kanor
17) 30    keny
18) 25    GentooUser
19) 19    Le Rouge
20) 18    Ph3nix_
21) 14    kouskous
22) 13    xapantu
23) 12    stratoboy
23) 12    sailing
25) 11    edge_one
26) 10    CROWD
26) 10    Toineo
26) 10    NutMotion
29) 8    Mornagest
30) 7    Vista
31) 6    Zeibux
31) 6    Р'tite G☢gole :mad:
33) 5    timsy
33) 5    alexises
35) 4    danychou56
35) 4    Neros
35) 4    Biaise
38) 3    gulp
39) 1    ceric
39) 1    pfriedK
39) 1    geenux

chart?chs=675x280&cht=p3&chco=d80020,d88000,ffd840,20d820,2080ff,101080,a020d8&chf=bg,s,fbf9f4&chl=00h%20-%2000h59|01h%20-%2001h59|02h%20-%2002h59|03h%20-%2003h59|04h%20-%2004h59|06h%20-%2006h59|09h%20-%2009h59|10h%20-%2010h59|11h%20-%2011h59|12h%20-%2012h59|13h%20-%2013h59|16h%20-%2016h59|21h%20-%2021h59|22h%20-%2022h59|23h%20-%2023h59&chd=t:6,10,9,6,2,1,3,6,4,3,3,2,2,1,4&chp=1.6&chtt=R%C3%A9partition%20des%20posts&chts=606060,16chart?chs=675x250&cht=bvs&chxt=x,y&chds=0,20&chxr=1,0,20&chf=b0,lg,0,803000,0,ffc080,1|bg,s,fbf9f4&chxl=0:|05h|06h|07h|08h|09h|10h|11h|12h|13h|14h|15h|16h|17h|18h|19h|20h|21h|22h|23h|00h|01h|02h|03h|04h&chxp=0,0.7,4.9,9.1,13.2,17.3,21.5,25.6,29.8,33.9,38,42.2,46.3,50.5,54.6,58.8,62.9,67,71.2,75.3,79.4,83.6,87.7,91.8,96&chd=t:0,1,0,0,3,6,4,3,3,0,0,2,0,0,0,0,2,1,4,6,10,9,6,2&chm=N,803000,0,-1,12&chtt=|Nombre%20de%20posts%20par%20heure&chts=606060,16


Codez-vous trop tard le soir ?
Demandez au Compteur du TdCCT pour le savoir !

J’ai été généreusement codé par tshirtman ; d’ailleurs, voici mon code source. TdCCT CEP : ./viewtopic.php?pid=3493579#p3493579 (p3492608).

Hors ligne

#667 Le 28/06/2010, à 09:53

xapantu

Re : /* Topic des codeurs couche-tard [1] */

plop entre les posts du bot ?
edit: mouais, assez peu probable, 10 min après... il en fait plus, qu' un ?

Dernière modification par xapantu (Le 28/06/2010, à 09:54)

Hors ligne

#668 Le 28/06/2010, à 10:25

Compteur du TdCCT

Re : /* Topic des codeurs couche-tard [1] */

Scores de la période en cours :

270    Pylade
236    samuncle
233    nesthib
230    grim7reaper
191    mathieuI
112    helly
101    cm-t
76    gnuuat
62    \\Ouranos//
44    tshirtman
30    Lagierl
23    petifrancais
23    Kanor
20    keny
17    pierguiard
15    ǤƦƯƝƬ
11    edge_one
10    NutMotion
8    xapantu
7    Vista
5    sailing
5    timsy
5    alexises
4    Toineo
3    gulp
3    Р'tite G☢gole :mad:
2    kouskous
2    Mornagest

Codez-vous trop tard le soir ?
Demandez au Compteur du TdCCT pour le savoir !

J’ai été généreusement codé par tshirtman ; d’ailleurs, voici mon code source. TdCCT CEP : ./viewtopic.php?pid=3493579#p3493579 (p3492608).

Hors ligne

#669 Le 28/06/2010, à 10:27

Pylades

Re : /* Topic des codeurs couche-tard [1] */

xapantu entre les deux posts du bot ! \o/

Putain, ste connerie ça veut dire qu’il va encore falloir que je debug… Et pour ça il faut poster… roll


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne

#670 Le 28/06/2010, à 11:01

tshirtman

Re : /* Topic des codeurs couche-tard [1] */

Ouais, enfin il faut l’utiliser sur du texte formaté ou avec une saisie sécurisée.

formaté certes, mais sans jamais utiliser "%s" car il n'y a pas de possibilité de spécifier une taille maximale, et c'est donc une porte ouverte aux buffer overflow…

Hors ligne

#671 Le 28/06/2010, à 11:10

Pylades

Re : /* Topic des codeurs couche-tard [1] */

Sauf si le texte est formaté…

Mais, oui, j’ai déjà dit ça hier. Dans ce cas, il faut toujours préférer fgets.


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne

#672 Le 28/06/2010, à 12:51

Pylades

Re : /* Topic des codeurs couche-tard [1] */

Bon, j’ai abandonné fread pour fgetc, ça fait moins chier. J’espère juste qu’il n’y a pas d’interférences avec les locales ou autres conneries du genre, et que je choppe bien exactement un octet à la fois, celui qui est dans le fichier… hmm

Sinon, existe-t-il des raisons d’utiliser getc à la place de fgetc ?

Enfin bon, maintenant que j’arrive à lire mon fichier, je vais pouvoir passer aux choses sérieuses… il était temps. Ça ne devrait pas prendre longtemps, mais ça sera plus tard, là je vais à la fac (et crever de chaud par la même occasion).


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne

#673 Le 28/06/2010, à 13:10

grim7reaper

Re : /* Topic des codeurs couche-tard [1] */

Hello World !

tshirtman a écrit :

formaté certes, mais sans jamais utiliser "%s" car il n'y a pas de possibilité de spécifier une taille maximale, et c'est donc une porte ouverte aux buffer overflow…

Ou pas…

#include <stdio.h>

int main(void)
{
    char buf[42];

    scanf("%41s", buf);
    printf("%s\n", buf);
    return 0;
}

Essaye de faire un buffer overflow smile.

scanf est une fonction très puissante qui permet des trucs sympa niveau format (genre %8d%8d%100[^\n]) mais il ne faut pas l'utiliser n'importe comment.

@Pylade : j'ai toujours du mal pour la circularité, mais c'est sûrement utile parce que tu va jouer avec realloc (là aussi dans le "standard" brainfuck la mémoire ne doit pas être infini, c'est spécifique à certains compilo/interpréteur)

Hors ligne

#674 Le 28/06/2010, à 15:15

alexises

Re : /* Topic des codeurs couche-tard [1] */

personne n'est libre sa c'est bien baloit moi qui ai besoin de mond eactuellement


/!\ aveugle ne pas matraquer /!\
¨¨¨                                       ¨¨¨

il est ou le bouton poster ?

Hors ligne

#675 Le 28/06/2010, à 16:23

grim7reaper

Re : /* Topic des codeurs couche-tard [1] */

alexises a écrit :

personne n'est libre sa c'est bien baloit moi qui ai besoin de mond eactuellement

C'est surtout qu'il n'y a pas de programmeur chevronné en C++ (et encore moins Qt) qui fréquente régulièrement ce topic.
À la limite, ça pourrait intéresser helly.

Dernière modification par grim7reaper (Le 28/06/2010, à 16:26)

Hors ligne