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.

#1651 Le 30/01/2011, à 21:10

xapantu

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

Pylade a écrit :

Le premier warning est un bug de GCC (le voilà, ArkSeth)

Tu es sûr ? Tu as un lien vers le rapport de bug ?

Hors ligne

#1652 Le 30/01/2011, à 21:13

Pylades

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

Je ne sais pas s'il y a déjà un rapport de bug pour ça, mais c'est sûr que c'est un bug. Il y en a un autre aussi, avec -Wfloat-equal


“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

#1653 Le 30/01/2011, à 21:15

xapantu

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

Mais comment tu es sûr ? Enfin, je veux dire, c'est connu que gcc a des bugs comme ça ? (ça m'étonne vu que j'avais jamais vu ça)

Hors ligne

#1654 Le 30/01/2011, à 21:23

Pylades

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

Ben, dans les deux cas, ce sont des warnings complétement non-appropriés, dus à l'absence d'une vérification supplémentaire (vérifier qu'il y a bien un opérateur logique dans le premier cas, et vérifier qu'on ne teste pas INFINITY, NAN, HUGE_VAL, HUGE_VALF ou HUGE_VALL dans le second cas).

Ce sont donc des bugs.

Dernière modification par Pylade (Le 30/01/2011, à 21:23)


“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

#1655 Le 30/01/2011, à 21:26

xapantu

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

Mouais. Je suis pas franchement convaincu. gcc te suggère de mettre des parenthèses, même si ça ne change rien, à mon avis… il faut mieux les mettre. Mais c'est sûr que la lisibilité en prend un coup.

Dernière modification par xapantu (Le 30/01/2011, à 21:26)

Hors ligne

#1656 Le 30/01/2011, à 21:39

xapantu

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

Et pour aller jusqu'au bout de ma pensée, le bug que tu aurais découvert se produirais dans ce cas if(truc = machin()), c'est ça ? Sauf que ça ne doit pas être un truc hyper rare dans le codage en C, alors ça m'étonnerais que les devs de gcc, qui ne sont pas les plus inexpérimentés aient "oublié" ce cas là.

Hors ligne

#1657 Le 30/01/2011, à 21:43

Pylades

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

Ben pourtant… tu peux le constater toi-même…


“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

#1658 Le 30/01/2011, à 21:46

xapantu

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

Peut-être simplement parce qu'à partir du moment où tu compile avec des flags très stricts, gcc s'attend à que ton code soit très strict ?

Dernière modification par xapantu (Le 30/01/2011, à 21:49)

Hors ligne

#1659 Le 30/01/2011, à 21:56

Pylades

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

Mais cette partie du code est strictement correcte ! yikes
En plus, ce warning fait partie du groupe activé par -Wall, le groupe le moins strict…

Dernière modification par Pylade (Le 30/01/2011, à 21:56)


“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

#1660 Le 30/01/2011, à 23:11

grim7reaper

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

:!pakman a écrit :

Hey les codeurs smile
Vous connaitriez pas une bonne bibliothèque de gestion du son sous licence libre ?
fmod n'est pas libre il me semble, gratuite seulement...
Et d'après le sdz, la librairie SDL_audio n'est pas top hmm

J'aimerais que mon pakman ne dépende d'aucune lib propriétaire wink

SDL_audio n'est pas mal (après ça dépend ce que tu veux faire, mais je pense que tu peux tenter).



Кຼزດ a écrit :
:!pakman a écrit :

Hey les codeurs smile
Vous connaitriez pas une bonne bibliothèque de gestion du son sous licence libre ?
fmod n'est pas libre il me semble, gratuite seulement...
Et d'après le sdz, la librairie SDL_audio n'est pas top hmm

J'aimerais que mon pakman ne dépende d'aucune lib propriétaire wink

La sfml permet de gérer le son.

À ce compte-là autant laisser tomber la SDL (sfml fait tout ce que fait la SDL avec ses extensions).
Le truc c'est que la sfml c'est plutôt du C++ (je crois qu'il y a bien un binding pour le C mais je ne sais pas ce qu'il vaut).



Pylade a écrit :

Mais cette partie du code est strictement correcte ! yikes
En plus, ce warning fait partie du groupe activé par -Wall, le groupe le moins strict…

gcc ne dit pas le contraire, il signale une ambiguïté pas une erreur.
Libre à toi de la lever ou pas.

Dernière modification par grim7reaper (Le 30/01/2011, à 23:13)

Hors ligne

#1661 Le 30/01/2011, à 23:43

Кຼزດ

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

grim7reaper a écrit :
Кຼزດ a écrit :
:!pakman a écrit :

Hey les codeurs smile
Vous connaitriez pas une bonne bibliothèque de gestion du son sous licence libre ?
fmod n'est pas libre il me semble, gratuite seulement...
Et d'après le sdz, la librairie SDL_audio n'est pas top hmm

J'aimerais que mon pakman ne dépende d'aucune lib propriétaire wink

La sfml permet de gérer le son.

À ce compte-là autant laisser tomber la SDL (sfml fait tout ce que fait la SDL avec ses extensions).
Le truc c'est que la sfml c'est plutôt du C++ (je crois qu'il y a bien un binding pour le C mais je ne sais pas ce qu'il vaut).

En effet tongue.
La SFML, est, dans une énorme majorité de cas, plus rapide et plus simple que la SDL à utiliser.


dou

Hors ligne

#1662 Le 30/01/2011, à 23:49

The Uploader

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

je note : SFML PWN SDL. yikes

want!

DOSBox devrait passer à la SFML alors! tongue
A moins que la SDL soit meilleure pour un émulateur..


- Oldies PC : Intel Pentium 3 @ 800 Mhz sur CM ASUS P2B-F, GeForce 4 Ti4800 SE, Disque Dur Hitachi 160 Go, 512 Mo de RAM, 3DFX Voodoo 2, Sound Blaster 16 ISA PnP, Windows 98 SE / XP)
- Desktop : Intel Core i7 6700K @ 4 GHz sur CM ASUS Z170-P, GeForce GTX 1070, SSD Samsung 850 EVO 1 To, 16 Go de RAM, Disque Dur Seagate Barracuda 3 To, Windows 10

Hors ligne

#1663 Le 30/01/2011, à 23:53

grim7reaper

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

Кຼزດ a écrit :

En effet tongue.
La SFML, est, dans une énorme majorité de cas, plus rapide et plus simple que la SDL à utiliser.

Exact (quoique que plus rapide que la SDL de base, mais c'est kif-kif avec le couple SDL/OpenGL).
Mais quid du binding C ?
Il est bien lui aussi (:!pakman code en C) ?

Hors ligne

#1664 Le 31/01/2011, à 01:33

gnuuat

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

Termcaps ?
Il parait que c'est super portable... *sifflote*


Bisouland : embrassez les tous !
Volez les points d'amour de vos adversaires en les embrassant, dans ce jeu gratuit par navigateur !

Hors ligne

#1665 Le 31/01/2011, à 01:40

grim7reaper

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

HS.
Il demande une bibliothèque pour gérer de l'audio.

Hors ligne

#1666 Le 31/01/2011, à 01:49

Pylades

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

grim7reaper a écrit :

[…]

Pylade a écrit :

Mais cette partie du code est strictement correcte ! yikes
En plus, ce warning fait partie du groupe activé par -Wall, le groupe le moins strict…

gcc ne dit pas le contraire, il signale une ambiguïté pas une erreur.
Libre à toi de la lever ou pas.

Oui mais là ce n'est pas ambigu du tout, puisque je n'ai pas d'opérateur logique…
Un bug, je vous dis ! tongue

Dernière modification par Pylade (Le 31/01/2011, à 01:49)


“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

#1667 Le 31/01/2011, à 01:55

grim7reaper

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

Non, car ce warning ne porte pas que sur les opérateur logiques.

man gcc a écrit :

Warn if parentheses are omitted in certain contexts, such as when there is an assignment in a context where a truth value is expected, or when operators are nested whose precedence people often get confused about.

           Also warn if a comparison like x<=y<=z appears; this is equivalent to (x<=y ? 1 : 0) <= z, which is a different interpretation from that of ordinary mathematical notation.

           Also warn about constructions where there may be confusion to which "if" statement an "else" branch belongs.  Here is an example of such a case:

                   {
                     if (a)
                       if (b)
                         foo ();
                     else
                       bar ();
                   }

           In C/C++, every "else" branch belongs to the innermost possible "if" statement, which in this example is "if (b)".  This is often not what the programmer expected, as illustrated in the above example by indentation the programmer chose.  When there is the potential for this confusion, GCC will issue a warning when this flag is specified.  To eliminate the warning, add explicit braces around the innermost "if" statement so there is no way the "else" could belong to the enclosing "if".  The resulting code would look like this:

                   {
                     if (a)
                       {
                         if (b)
                           foo ();
                         else
                           bar ();
                       }
                   }

           This warning is enabled by -Wall.

Dernière modification par grim7reaper (Le 31/01/2011, à 01:57)

Hors ligne

#1668 Le 31/01/2011, à 02:24

Pylades

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

D'accord, mais si une telle construction est dépourvue d'ambiguïté (ce qui se produit lorsqu'aucun (comment ça, cette locution n'existe pas ? Merci de m'éclairer…) opérateur logique n'est utilisé), alors je ne vois pas ce qui justifie le warning. Et puis, les constructions du style ((…)), ce n'est pas joli, même si ça évite un warning.

smile

Dernière modification par Pylade (Le 31/01/2011, à 02:24)


“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

#1669 Le 31/01/2011, à 02:26

Кຼزດ

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

Bon allez, zou…


dou

Hors ligne

#1670 Le 31/01/2011, à 02:38

grim7reaper

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

Pylade a écrit :

D'accord, mais si une telle construction est dépourvue d'ambiguïté

Ce qui n'est pas la cas de la tienne.
On pourrait croire à une faute de frappe (un = au lieu d'un ==). Bien sûr qu'ici il est évident que tu ne testes pas l'adresse de la fonction car base est déclaré deux lignes avant et on voit bien que son type est magic_t.
Mais ça gcc n'est pas censé le savoir, un test comme ça sorti de son contexte n'est pas clair (base pourrait être déclarer bien avant et donc rendre ta condition bien moins explicite) donc il t'avertit.
Ça ne me choque pas.

Pylade a écrit :

Et puis, les constructions du style ((…)), ce n'est pas joli, même si ça évite un warning.

Oui ce n'est pas super élégant, mais il faut savoir ce que l'on veut (0 warning ou pas).
Perso je trouve moche de faire des affectations dans les conditions, je préfère bien séparer les deux actions => affectation puis test (du coup la question de l'élégance ne se pose pas vu que je n'ai pas de warning smile).

Dernière modification par grim7reaper (Le 31/01/2011, à 04:29)

Hors ligne

#1671 Le 31/01/2011, à 03:08

helly

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

Кຼزດ a écrit :

Bon allez, zou…


Archlinux-wmii-dwb.
Un problème résolu ? Faites le savoir en mettant [résolu] à côté du titre de votre topic.
Un problème non résolu ? Faites le savoir en insultant ceux qui cherchent à vous aider.
Un site bleu super remasterised©, un wiki cherchant des volontaires pour traduire un site.

Hors ligne

#1672 Le 31/01/2011, à 03:35

samυncle

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

smile


Hello world

Hors ligne

#1673 Le 31/01/2011, à 04:05

samυncle

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

.


Hello world

Hors ligne

#1674 Le 31/01/2011, à 04:27

cm-t

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

'Nuit;


Actu Ubuntu            ☺/
Pauses Ubuntu sur Paris            \_< -t
[(π)] La Quadrature du net

Hors ligne

#1675 Le 31/01/2011, à 04:42

nesthib

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

plop


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