Crunchez vos adresses URL
|
Rejoignez notre discord
|
Hébergez vos photos
Page 220 sur 334 PremièrePremière ... 120170210212213214215216217218219220221222223224225226227228230270320 ... DernièreDernière
Affichage des résultats 6 571 à 6 600 sur 10008
  1. #6571
    Pour ceux que ça intéresserait, je suis à fond là dessus en ce moment : https://github.com/tomaka/glium http://tomaka.github.io/glium/ http://tomaka.github.io/glium/glium/index.html

    Un langage safe et avec de l'abstraction gratuite, ça permet d'écrire des wrappers OpenGL rapides et totalement safe

    Cerise sur le gâteau, une feature géniale que j'ai pas documentée (car ça ne marche pas sous OS/X, rolleyes), c'est la possibilité d'écrire:

    Code:
    let vertex_shader = shader_check!("
        #version 110
    
        void main() {
            gl_Position = vec4(1.0, 0.0, 0.0, 1.0);
        }
    ");
    Et le code du shader est compilé et vérifié au moment de la compilation avec glslang, qui est l'implémentation officielle de référence.
    Rust fanboy

  2. #6572
    Désolé de faire redescendre le niveau mais j'ai deux petites questions d'ordre général :
    • pourquoi les attributs d'une classe sont privés par défaut, du moins en Java et C++ ? Ce que je voudrais, c'est tout passer en public et arrêter de me trimballer des get() et des set(), mais j'imagine que si tout le monde les fout en privé, c'est qu'il y a une raison ;
    • en C++, il y a un intérêt à passer un objet en paramètre d'une fonction au lieu d'un pointeur sur ce même objet ? Parce que même si on ne veut pas modifier l'objet, on peut quand même passer le pointeur et ne pas y toucher, non ?

  3. #6573
    Citation Envoyé par Oduesp
    pourquoi les attributs d'une classe sont privés par défaut, du moins en Java et C++ ? Ce que je voudrais, c'est tout passer en public et arrêter de me trimballer des get() et des set(), mais j'imagine que si tout le monde les fout en privé, c'est qu'il y a une raison ;
    Raison que je vois en tant que novice : éviter de faire des conneries et toucher n'importe quoi depuis n'importe ou.

    Si tu veux plus t'emmerder avec les indicateurs de visibilité, fais du python (et probablement d'autres langages dynamiques). Tous les membres d'une classe sont publics et on peut en enlever / ajouter au runtime :fêtealasaucisse:

  4. #6574
    En C++, struct offre une visibilité publique par défaut pour les membres et l'héritage, class c'est tout privé par défaut.
    "Dieu est mort" · "Si le téléchargement c’est du vol, Linux c’est de la prostitution."

  5. #6575
    Citation Envoyé par Oduesp Voir le message
    en C++, il y a un intérêt à passer un objet en paramètre d'une fonction au lieu d'un pointeur sur ce même objet ? Parce que même si on ne veut pas modifier l'objet, on peut quand même passer le pointeur et ne pas y toucher, non ?
    Si tu prends un objet par valeur, tu as la possibilité de déplacer un objet existant.

    En fait de manière générale : pour les petits types (les nombres) prend toujours le paramètre par valeur, pour les plus gros objets prends un pointeur si tu veux simplement le lire ou le modifier, et prend par valeur si tu veux devenir le propriétaire de l'objet.

    Par exemple une fonction "set_name" qui garde en mémoire la string que tu lui passes, au lieu de mettre "set_name(const std::string&)" il vaut mieux mettre "set_name(std::string)". Dans le premier cas tu devras faire une copie quoiqu'il arrive, alors que dans le second cas tu feras soit une copie soit un déplacement. Et les déplacements sont plus rapides que les copies.
    Rust fanboy

  6. #6576


    C'est con mais ça m'a bien fait marrer.

  7. #6577
    Je fais plus de web, c'est quoi la signification ?

  8. #6578

  9. #6579
    Citation Envoyé par Orhin Voir le message
    http://www.luc-damas.fr/humeurs/imag...formulaire.jpg

    C'est con mais ça m'a bien fait marrer.
    Terrible !
    Citation Envoyé par Kazemaho Voir le message
    Ma cherie arrete pas de raler qu'elle en veut une plus grosse, plus moderne, plus plus plus et moi j'y comprends rien.

  10. #6580
    Citation Envoyé par Patate Voir le message
    Je fais plus de web, c'est quoi la signification ?
    Comme personne n'a répondu, je me lance.
    Spoiler Alert!
    Une form, on la submit

  11. #6581
    Ah ok, c'est juste que je croyais qu'il y avait un truc avec firefox, genre quelque chose qu'il gérait de façon différente des autres.

  12. #6582
    Citation Envoyé par Oduesp Voir le message
    Désolé de faire redescendre le niveau mais j'ai deux petites questions d'ordre général :
    • pourquoi les attributs d'une classe sont privés par défaut, du moins en Java et C++ ? Ce que je voudrais, c'est tout passer en public et arrêter de me trimballer des get() et des set(), mais j'imagine que si tout le monde les fout en privé, c'est qu'il y a une raison ;
    Si tu codes tout seul formellement, ca ne change pas grand chose... si tu fournis des API a l exterieur, ton business interne, c est ton business interne... tu peux le changer comme tu veux... c est aussi une des raisons.

  13. #6583
    Vu sur linuxfr:
    Le challenge du logo ANSSI (Agence nationale de la sécurité des systèmes d'information)

    C'est.... wow.
    J'ai raison et vous avez tort.

  14. #6584

  15. #6585
    Citation Envoyé par Sekigo Le Magnifique Voir le message
    Vu sur linuxfr:
    Le challenge du logo ANSSI (Agence nationale de la sécurité des systèmes d'information)

    C'est.... wow.
    Et ben, fallait être patient pour celui-ci.

  16. #6586
    Alors qu'ils auraient promis un trailer d'HL3 à la fin, ça aurait été plié en 12h.

  17. #6587
    Ouaip, rappelez vous de l'ARG de Portal 2.

  18. #6588
    C'est un boulot de dingue.... Mais chapeau !

  19. #6589
    Citation Envoyé par Sekigo Le Magnifique Voir le message
    Vu sur linuxfr:
    Le challenge du logo ANSSI (Agence nationale de la sécurité des systèmes d'information)

    C'est.... wow.
    Fou. Et aussi super agréable à lire, même quand on est loin d'être un ouf en stégano.

  20. #6590
    Ouais ça se lit plutôt bien, c'est vraiment impressionnant (voire limite effrayant) de voir la puissance de la cryptographie !

  21. #6591
    une balle, un imp (Newstuff #491, Edge, Duke it out in Doom, John Romero, DoomeD again)
    Canard zizique : q 4, c, d, c, g, n , t-s, l, d, s, r, t, d, s, c, jv, c, g, b, p, b, m, c, 8 b, a, a-g, b, BOF, BOJV, c, c, c, c, e, e 80, e b, é, e, f, f, f, h r, i, J, j, m-u, m, m s, n, o, p, p-r, p, r, r r, r, r p, s, s d, t, t
    Canard lecture

  22. #6592

  23. #6593
    Aucune idée, demande au gars.
    A priori, je ne pense pas.
    une balle, un imp (Newstuff #491, Edge, Duke it out in Doom, John Romero, DoomeD again)
    Canard zizique : q 4, c, d, c, g, n , t-s, l, d, s, r, t, d, s, c, jv, c, g, b, p, b, m, c, 8 b, a, a-g, b, BOF, BOJV, c, c, c, c, e, e 80, e b, é, e, f, f, f, h r, i, J, j, m-u, m, m s, n, o, p, p-r, p, r, r r, r, r p, s, s d, t, t
    Canard lecture

  24. #6594
    Oui, il faudrait émuler les I/O, les RAM et les ROM aussi pour faire tourner le code complet. Mais on doit bien pouvoir faire une addition avec.

    Quelque part sur l'interweb il y a eu un jour un émulateur de 141-PF, mais je ne le retrouve plus.
    Bon, c'était un exe Windows écrit en Delphi ou VB sans le code source, et j'ai jamais réussi à le faire marcher.

  25. #6595
    Oui, regarde sur le site du type, il y a même un décodeur caractères→ASCII.
    une balle, un imp (Newstuff #491, Edge, Duke it out in Doom, John Romero, DoomeD again)
    Canard zizique : q 4, c, d, c, g, n , t-s, l, d, s, r, t, d, s, c, jv, c, g, b, p, b, m, c, 8 b, a, a-g, b, BOF, BOJV, c, c, c, c, e, e 80, e b, é, e, f, f, f, h r, i, J, j, m-u, m, m s, n, o, p, p-r, p, r, r r, r, r p, s, s d, t, t
    Canard lecture

  26. #6596
    Citation Envoyé par Sekigo Le Magnifique Voir le message
    Vu sur linuxfr:
    Le challenge du logo ANSSI (Agence nationale de la sécurité des systèmes d'information)

    C'est.... wow.
    C'était carrément cyberpunk à lire ça!

  27. #6597
    Citation Envoyé par ducon Voir le message
    Excellent

    Dans le genre, en plus ancien et probablement connu de beaucoup, un émulateur de PC 32-bit : http://bellard.org/jslinux/

  28. #6598
    Citation Envoyé par rOut Voir le message
    L'edition 2015 de "The Grand C++ Error Explosion Competition": http://tgceec.tumblr.com/

    J'ai participé avec 4Go de message d'erreur pour le oneshot, j'ai peut être une chance :3
    Vu que la compétition est annulée et apparemment enterré. Par simple curiosité, tu nous montres ton bout de code ? :3

  29. #6599
    Je dois être le seul a avoir participé, quelle tristesse

    Le code n'est pas très intéressant en fait, je m'étais amusé avec les variadic templates et les lambdas un jour, et je me suis vite rendu compte que c'est une très mauvaise idée. Ca commence par gdb qui refuse de déboguer quoi que ce soit en segfaultant au chargement des symboles, et ça fini rapidement par faire exploser complètement les divers compilateurs.

    oneshot, que je déconseille fortement de tester, à moins d'avoir genre 12Go de RAM de rab, et qui génère une erreur unique de 3-4Go (et on peut faire largement pire en augmentant le 11, quitte à avoir la RAM qui convient):
    Code:
    #define d template<typename...A> static void g(A...)
    template<int N>struct f{d{f<N+1>::g([](A...,A...,A...,A...){});}};
    template<>struct f<11>{d{[](A...){}();}};
    void g(){f<0>::g();}
    levenshtein, dans le même ordre de grandeur, et en trichant à mort pour le code qui est censé inverser le texte en input et en utilisant une macro pour tricher aussi tant qu'on y est sur le caractère unique à changer.
    le fichier erroné:
    Code:
    #include<ios>
    #define B A...
    #define d template<typename...A>static void g(B)
    template<int N>struct f{d{f<N+1>::g([](B,B,B,B){});}};template<>struct f<11>{d{[](B){}();}};
    int main(){f<0>::g();system("(tr '\n' '#'|rev|tr '#' '\n')<test.dat>output.dat");}
    le fichier correct:
    Code:
    #include<ios>
    #define B A...
    #define d template<typename...A>static void g(B)
    template<int N>struct f{d{f<N+1>::g([](B,B,B,B){});}};template<>struct f<11>{d{[](){}();}};
    int main(){f<0>::g();system("(tr '\n' '#'|rev|tr '#' '\n')<test.dat>output.dat");}
    precision, qui donne π Mo de message d'erreur.
    Code:
    #define d template<typename...A> static void g(A...)
    template<int N>struct ff{d{ff<N+1>::g([](A...){},[](A...,A...,A...,A...){});}};
    template<>struct ff<5>{d{[](A...,A...,A...,A...,unsigned,long){ }(g);}};//pi!
    void g(){ff<0>::g();}


    ---------- Post added at 01h54 ---------- Previous post was at 01h44 ----------

    Pour faire plus clair en fait la base c'est:

    Une classe template dont le paramètre va servir à contrôler la profondeur de récursion.
    Dans cette classe, une fonction statique template, dont le ou les paramètres sont des lambdas, et qui appellent les mêmes fonctions du niveau supérieur, en augmentant la signature des lambdas passées en arguments (le premier niveau appelle le second niveau avec des lambdas sans arguments, qui appelle le troisième niveau avec des lambdas prenant des lambdas, et ainsi de suite).

    On peut multiplier le nombre d'arguments des lambdas ou le nombre de lambdas, je ne sais pas très précisément ce que ça donne niveau quantité d'erreur, j'ai surtout eu du mal à avoir le plus gros message d'erreur sans exploser la limite de RAM.
    Code:
    template<int N>
    struct f {
      template<typename...A>
      static void g(A...) {
        f<N+1>::g([](A...,A...,A...,A...){});
      }
    };
    Ensuite un cas de base pour arrêter la récursion et introduire une erreur, qui sera affichée avec la signature de la fonction g, qui dépend donc de tous les appels récursifs précédents (donc gros). L'erreur c'est bêtement une lambda qui prend plein de paramètres, appelée sans rien (GCC va du coup explicitement indiquer quels paramètres il attendait, ce qui rend l'erreur encore plus grosse).
    Code:
    template<>
    struct f<11> {
        template<typename...A>
        static void g(A...) {
          [](A...){}();
        }
    };
    Et une fonction bidon qui lance tout le bousin.
    Code:
    void g() {
      f<0>::g();
    }
    Après le reste c'est du tweak pour faire rentrer dans les contraintes et de la bidouille / chance pour avoir la bonne taille d'erreur pour pi.
    Dernière modification par rOut ; 06/02/2015 à 02h08.
    "Dieu est mort" · "Si le téléchargement c’est du vol, Linux c’est de la prostitution."

  30. #6600
    J'ai pas tout compris...
    Mais GG! Je suis sur que tu aurais gagné... le droit de te vanter
    Mais du coup, c'est un peu dommage de devoir se limiter à cause d'une histoire de ram...

Page 220 sur 334 PremièrePremière ... 120170210212213214215216217218219220221222223224225226227228230270320 ... DernièreDernière

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •