Crunchez vos adresses URL
|
Rejoignez notre discord
|
Hébergez vos photos
Page 80 sur 182 PremièrePremière ... 3070727374757677787980818283848586878890130180 ... DernièreDernière
Affichage des résultats 2 371 à 2 400 sur 5456
  1. #2371
    Citation Envoyé par rOut Voir le message
    Moi je fais du C maintenant, je prends beaucoup de plaisir.

    Code:
    void (*glXGetProcAddressARB(const char *procName))(void) {
    
      /* ... */
    
      return ((_GLX_PUBLIC void (*(*)(const GLubyte *))(void))next)(procName);
    }
    Ahahah les pointeurs des extensions opengl, cette bonne tranche de rigolade.

    C'est du masochisme volontaire ou on peut vraiment avoir encore besoin de cette purge en 2019 ?
    Citation Envoyé par Sidus Preclarum Voir le message
    Ben du caramel pas sucré alors...
    "Avant, j'étais dyslexique, masi aujorudh'ui je vasi meiux."

  2. #2372
    Ben normalement c'est obligé si tu veux faire les choses proprement. Tous les drivers ne supportent pas toutes les extensions, les fonctions en question proviennent du driver vidéo lui même et peuvent donc en théorie varier suivant le contexte activé. Je doute que ça marche vraiment en pratique, mais en théorie, et de nos jours avec les machines hybrides à plusieurs GPU (genre e-GPU et cie), du devrais pouvoir faire du rendu sur un GPU sélectionné dynamiquement, voire même profiter de tous les GPUs disponibles pour faire des choses en parallèle. Du coup il faut récupérer les bonnes fonctions pour chaque driver.

    Sous vulkan, c'est plus "propre" dans le sens ou tu dois toujours obtenir les fonctions, mais en spécifiant l'instance de vulkan à chaque fois, c'est à dire le driver que tu cibles, plutôt que le contexte courant implicite. Tu as également une API pour lister les GPUs disponibles et créer des instances vulkan pour chaque. C'est pas plus simple mais au moins c'est explicite.

    Accessoirement là c'était juste le code d'un "workaround" pour faire marcher Divinity Original Sin EE avec mesa / intel (https://bugs.freedesktop.org/attachment.cgi?id=125302).
    "Dieu est mort" · "Si le téléchargement c’est du vol, Linux c’est de la prostitution."

  3. #2373
    Citation Envoyé par Nilsou Voir le message

    La question porte sur le fait de donner un exemple d'algo récursif non terminal et l’élève donne donc cet exemple.

    Mais il m'a mis un doute, la terminalité, je rappelle, c'est quand la dernière instruction est un return sur sa propre fonction sans opération supplémentaire (pas de return 1+toto par exemple) . Et là j'ai un petit doute parce que le else ... est-il véritablement "évalué" après le return ?
    J'aurais dit qu'en théorie il n'est pas du tout évalué car dés qu'on rentre dans le if le else est caduque et donc que return toto est bien la dernière instruction évalué de l'algo ...ce qui en fait un algo récursif terminal (donc l’élève aurait faux)

    Mais ai-je tort ?
    Moi j'aurais envie de dire que l'élève est un emmerdeur qui essaie de se rattraper aux branches. 0 pour cette question, et -2 supplémentaire sur l'ensemble de la copie pour m'avoir fait perdre mon temps.

    Que le compilateur ou le processeur s'amusent au final à évaluer dans un ordre différent ce ne serait pas impossible mais la question c'est "écrire un algo", du point de vue algorithmique pur il a faux.

    Si on veut creuser un peu plus la petite bête, pour moi la notion terminale/non-terminale se base sur l'évaluation de l'expression de la valeur qu'on veut construire. L'évaluation de la structure de contrôle de la fonction n'a rien à voir là-dedans, c'est même un détail du langage et de son implémentation dans le fond.

    - - - Mise à jour - - -

    Citation Envoyé par rOut Voir le message
    Ben normalement c'est obligé si tu veux faire les choses proprement.
    C'était dans le sens où "depuis le temps les API ne permettent pas de faire ça de manière plus propre ?".

    Bon après pour faire un hack d'un moteur existant c'est sûr que tu dois mettre les mains dans le cambouis.
    Citation Envoyé par Sidus Preclarum Voir le message
    Ben du caramel pas sucré alors...
    "Avant, j'étais dyslexique, masi aujorudh'ui je vasi meiux."

  4. #2374
    Citation Envoyé par Nilsou Voir le message
    Question pour les canards, je corrige un contrôle là, et un élève m'a mis le doute :
    J'ai un appel récursif comme ceci en C.
    Code:
    int toto(int a, int n)
    {
      if (n>0)
      {
        a=a*n;
        n=n-1;
        return toto(a,n);
      }
      else
      {
        return a;
      }
    }
    La question porte sur le fait de donner un exemple d'algo récursif non terminal et l’élève donne donc cet exemple.

    Mais il m'a mis un doute, la terminalité, je rappelle, c'est quand la dernière instruction est un return sur sa propre fonction sans opération supplémentaire (pas de return 1+toto par exemple) . Et là j'ai un petit doute parce que le else ... est-il véritablement "évalué" après le return ?
    J'aurais dit qu'en théorie il n'est pas du tout évalué car dés qu'on rentre dans le if le else est caduque et donc que return toto est bien la dernière instruction évalué de l'algo ...ce qui en fait un algo récursif terminal (donc l’élève aurait faux)

    Mais ai-je tort ?

    J'avoue que j'ai un trou sur le sujet, je ne me souvient plus comment est évalué exactement le else dans le cas du if/else sans else if.
    Tu peux simplifier son code en
    Code:
    int toto(int a, int n) {
      if (n <= 0) return a;
      return toto(a * n, n - 1);
    }
    Donc au moment du return, tous les calculs sont déjà faits. Donc c'est faux.

    - - - Mise à jour - - -

    La version non-terminale ça serait :
    Code:
    int toto(int a, int n) {
      if (n <= 0) return a;
      return n * toto(a, n - 1);
    }
    Ou à chaque return on voit qu'il reste un calcul à faire avec la valeur retournée par la récursion.
    "Dieu est mort" · "Si le téléchargement c’est du vol, Linux c’est de la prostitution."

  5. #2375
    Citation Envoyé par rOut Voir le message
    Moi je fais du C maintenant, je prends beaucoup de plaisir.

    Code:
    void (*glXGetProcAddressARB(const char *procName))(void) {
    
      /* ... */
    
      return ((_GLX_PUBLIC void (*(*)(const GLubyte *))(void))next)(procName);
    }
    Avec des typedef pour les pointeurs de fonctions, ce serait mieux. Mon cerveau refuse de parser la ligne du return : trop de parenthèses, une erreur normalement réservée au lisp.

  6. #2376
    Huhu, moi ce qui m'a fait le plus buguer c'est la signature de la fonction. J'avais juste jamais vu ça.
    "Dieu est mort" · "Si le téléchargement c’est du vol, Linux c’est de la prostitution."

  7. #2377
    Citation Envoyé par FB74 Voir le message
    Quelques ouvrages de programmation en bundle:
    https://www.humblebundle.com/books/p...ng-packt-books
    C'est malin, j'ai pris la version complète

    - - - Mise à jour - - -

    Citation Envoyé par Cwningen Voir le message
    Avec des typedef pour les pointeurs de fonctions, ce serait mieux. Mon cerveau refuse de parser la ligne du return : trop de parenthèses, une erreur normalement réservée au lisp.
    Non non, en Lisp, on indente.

  8. #2378
    Citation Envoyé par rOut Voir le message
    Moi je fais du C maintenant, je prends beaucoup de plaisir.

    Code:
    void (*glXGetProcAddressARB(const char *procName))(void) {
    
      /* ... */
    
      return ((_GLX_PUBLIC void (*(*)(const GLubyte *))(void))next)(procName);
    }
    Bordel, y'a aussi des développeurs web qui fréquentent le forum.
    Vous pourriez au moins mettre une balise spoiler et avertir que c'est NSFL avant de poster des trucs comme ça

  9. #2379
    C/C++/autre language bas niveau, c’est pour les mecs qui ont plus de temps à perdre sur comment faire les choses que sur les choses à faire...

    Ouais je trollles mais je suis JC et j’assume. Hips.
    Ce qu'il faut savoir, c'est qu'on ment beaucoup aux minmatars, surtout lorsqu'ils posent des questions du style: "t'es sûr que ça vole, ce truc ?" Cooking Momo, le 30/08/09

  10. #2380
    Citation Envoyé par Sidus Preclarum Voir le message
    Ben du caramel pas sucré alors...
    "Avant, j'étais dyslexique, masi aujorudh'ui je vasi meiux."

  11. #2381
    Une sélection d'eBooks gratuits chez Packt:
    https://www.packtpub.com/free-learning

    Et le code HBPROG80 permet d'obtenir 80% de réduc sur les eBooks. A 10$ l'eBook, ça descend à 2$, ce qui est bien plus intéressant que les offres Humble, mais pas non plus gratuit.
    On peut utiliser un mois de souscription gratuite pour avoir une preview intégrale des eBooks à acheter (comme pour Amazon Prime, souscription + cancel immédiat => 1 mois de previews gratos).
    Dernière modification par vectra ; 27/06/2019 à 11h54.

  12. #2382
    Citation Envoyé par Lazyjoe Voir le message
    Moi j'aurais envie de dire que l'élève est un emmerdeur qui essaie de se rattraper aux branches. 0 pour cette question, et -2 supplémentaire sur l'ensemble de la copie pour m'avoir fait perdre mon temps.

    Que le compilateur ou le processeur s'amusent au final à évaluer dans un ordre différent ce ne serait pas impossible mais la question c'est "écrire un algo", du point de vue algorithmique pur il a faux.

    Si on veut creuser un peu plus la petite bête, pour moi la notion terminale/non-terminale se base sur l'évaluation de l'expression de la valeur qu'on veut construire. L'évaluation de la structure de contrôle de la fonction n'a rien à voir là-dedans, c'est même un détail du langage et de son implémentation dans le fond.
    Citation Envoyé par rOut Voir le message
    Tu peux simplifier son code en
    Code:
    int toto(int a, int n) {
      if (n <= 0) return a;
      return toto(a * n, n - 1);
    }
    Donc au moment du return, tous les calculs sont déjà faits. Donc c'est faux.

    - - - Mise à jour - - -

    La version non-terminale ça serait :
    Code:
    int toto(int a, int n) {
      if (n <= 0) return a;
      return n * toto(a, n - 1);
    }
    Ou à chaque return on voit qu'il reste un calcul à faire avec la valeur retournée par la récursion.
    Yep, merci les canards, ça m'a enlevé d'un doute

  13. #2383
    La récursivité terminale, ça sert à ce que le compilateur (ou l'interpréteur d'ailleurs) puisse remplacer l'appel récursif, et le retour (j'empile l'appel avec un retour ici, et ici, je colle le résultat du calcul dans la pile là où est attendue ma valeur de retour) par, précisément, l'appel récursif (en décalant la pile, de manière à ce que la valeur de retour s'empile exactement là où est attendue la valeur de retour de la fonction qui fait cet appel).

    Bref, c'est pour pas se manger les erreurs dûes aux problèmes de profondeur de récursivité.

    Là, pour un if... else, le branchement a eu lieu, il n'y a rien à faire après; on est en train de calculer une valeur qui est ce qu'on va retourner, c'est bien récursif terminal. Et la version naturelle, c'est bien celle donnée par rOut.

    (Qui écrit une factorielle avec accumulateur quand on lui demande une fonction non récursive terminale? Y'a des pervers quand même...)

    (OK, se préoccuper de récursivité terminale pour le calcul d'une factorielle avec des int qui sont de toute manière limités à 64 bits, c'est de toute manière de la perversité)

  14. #2384
    Citation Envoyé par Shosuro Phil Voir le message
    c'est de toute manière de la perversité
    Mais non, c'est de la pédagogie !
    Citation Envoyé par Sidus Preclarum Voir le message
    Ben du caramel pas sucré alors...
    "Avant, j'étais dyslexique, masi aujorudh'ui je vasi meiux."

  15. #2385
    "Déconstruire", c'est "détruire" en insérant des "cons".
    Battle.net (Diablo 3) : Fbzn#2658 ----- / ----- / ----- Steam ID

  16. #2386
    Ça vaut quoi Bleeding Edge Press ?

  17. #2387
    Citation Envoyé par Lazyjoe Voir le message
    Mais non, c'est de la pédagogie !
    Ouais, on a encore des progrès à faire avec la pédagogie de la récursivité terminale. "M'sieu, j'ai ajouté une variable acc à ma fonction, c'est bon elle est récursive terminale?"

  18. #2388
    Coin,

    Je poste ici afin de ne pas créer une nouvelle discussion juste pour ceci..
    Je débute en VBA bien entendu, et quand je vois la discussion ici, je me dis que j'ai encore du chemin

    Voici mon problème :

    Suite à des problèmes de synchronisation d'une boite partagée outlook365 (et au fait que le (super sympa!!) support de micro$oft n'ait pu m'aider), j'ai migré tout le dossier "archives" dans un fichier .pst... en pensant bêtement que je pourrais recopier les fichiers de la même façon dans l'autre sens.... mais si l'option "copier vers" était disponible dans ce sens, copier du fichier .pst vers le compte mail n'est pas possible !!
    Je me retrouve donc avec des 100taines de dossiers à déplacer manuellement, un par un... autant dire mission impossible certains dossiers comprennent des 100taines de mails... ça prend donc du temps . BREF.

    J'ai trouvé sur le net comment deleter tous les sous dossiers d'un dossier parent (ça fonctionne très bien)

    Code:
    Sub Delete_All_SubFolders()
    Dim oCurrFolder As Folder
    Dim oSubFolders As Folders
    Dim i As Long
     
    On Error Resume Next
     
    Set oCurrFolder = Outlook.Application.ActiveExplorer.CurrentFolder
    Set oSubFolders = oCurrFolder.Folders
     
    For i = oSubFolders.Count To 1 Step -1
    oSubFolders.Item(i).Delete
    Next
    End Sub
    Il me semblait qu'un MoveTo en place du Delete pourrait fonctionner également mais je n'y parviens pas.
    A noter que mes compétences en VBA sont proches du zéro, si j'arrive à comprendre ce que le code existant fait, lorsque je veux le modifier, je suis paumé très vite..

    Pourtant, je suis certain que ce n'est pas complexe pour ...vous :zoubi:

    Il s'agit donc, pour votre meilleure visualisation, de déplacer les répertoires de mon archive .pst "archives_gembloux" à ma boite "archives gembloux".



    Merci d'avance pour votre aide !!!

  19. #2389
    Citation Envoyé par Frypolar Voir le message
    Ça vaut quoi Bleeding Edge Press ?
    Sans doute moins d'un dollar...
    J'ai appris à me méfier des bundles foireux.

  20. #2390
    Citation Envoyé par Shosuro Phil Voir le message
    (Qui écrit une factorielle avec accumulateur quand on lui demande une fonction non récursive terminale? Y'a des pervers quand même...)
    Ben des élèves de L1 qui ont 4/20

  21. #2391
    Citation Envoyé par vectra Voir le message
    Sans doute moins d'un dollar...
    J'ai appris à me méfier des bundles foireux.
    Yeah, de nombreux nouveaux éditeurs sont apparus et semblent chercher à se faire une place en étant très accessibles aux auteurs : de nombreux ouvrages et auteurs, de tout niveau et toute qualité. Et ca se voit.
    Biensur certains écrivent très bien, mais on trouve un nombre alarmant de bouquins foireux, type "je recopie grosso-merdo les tutoriels des sites connus", sans une once de pédagogie. A mon goût, il n'y a aucune plus-value à choisir ces oeuvres plutôt qu'un tuto online.
    Puis soyons franc : les (très) bons auteurs sont chez des maisons déjà reconnues, et on ne trouve que rarement leurs bouquins à 1€
    Donc je conseillerais plutôt aux lecteurs fauchés d'aller sur les sites de tutos, les docs des technos (y'a souvent au moins des bons quick-start) et les dev-blogs de gens réputés. C'est gratos, c'est fiable et le copier-coller est plus facile.

  22. #2392
    Y'a des choses intéressantes chez Packt, par exemple. C'est assez inégal mais pas mauvais je pense.
    Par contre, tu vas directement sur leur boutique, et tu enquilles les codes promo pour avoir les bouquins que tu veux à 2€ pièce. Et comme la variété des thèmes est variée, ben tu trouves des choses qui répondent à des besoins assez pointus.
    Perso, après avoir acheté le bundle Packt full-size pour avoir les 3 bouquins qui m'intéressaient, j'ai regretté de ne pas les avoir achetés direct sur la boutique. Dans le même temps, les autres bouquins étaient cédés en nombre pour pas grand-chose, et autant les garder en fin de compte.

  23. #2393
    En effet, ce ne sont pas de mauvais bouquins, mais on trouve des œuvres d'un niveau au dessus chez Eyrolles par exemples.
    Cela s'explique peut être par la jeunesse de certains auteurs, ainsi que le manque de relecture.
    Je trouve qu'il n'y a généralement pas assez de conseils dans les bouquins, ils ne vont pas assez au fond des choses (logique quand tu n'es pas expert, tu peux pas expliquer). Ils font des tutos qui marchent, sopoudrés de quelques astuces et exemples, puis voilà.
    Tu en as donc pour ton argent

  24. #2394
    Je suis retombé sur ce podcast, je l'ai trouvé très intéressant (à nouveau). Ça parle de système, d'architecture de processeurs, de machine virtuels, de conteneurs et même d'Unikernels, enjoy.

    https://hwcdn.libsyn.com/p/c/1/3/c13...b53ef104f07858
    "Nobody exists on purpose. Nobody belongs anywhere. We're all going to die. Come watch TV." - Morty Smith

  25. #2395
    CLion 2019.2 vient de sortir.
    Au menu, une *grosse* amélioration de la vitesse de complétion, que j'attendais depuis longtemps en ce qui me concerne. J'ai l'impression de voir une très grosse amélioration de perfs, genre comme s'ils avaient remplacé une partie de leur code java par du C++

    C'est surtout pour vous avertir de provisionner la carte bleue par rapport aux Friendship Days de la semaine prochaine. Si Jetbrains refait comme l'an dernier, tout le catalogue risque de passer à -50%.
    Ce serait un bon moyen pour moi de renouveller ma licence annuelle que j'avais acheté à cette occasion...

    Nota Bene: chez Jetbrains, quand ta souscription se termine, tu récupères une version du logiciel activée à vie... Sauf que ce n'est jamais celle que tu utilises au moment de l'expiration: ces gens ont tout compris à la fourgue

  26. #2396
    Citation Envoyé par vectra Voir le message

    Nota Bene: chez Jetbrains, quand ta souscription se termine, tu récupères une version du logiciel activée à vie... Sauf que ce n'est jamais celle que tu utilises au moment de l'expiration: ces gens ont tout compris à la fourgue
    Ben, c'est la dernière version majeure sortie au moment de l'expiration. Si c'est pas celle que tu utilises, c'est ton problème.
    Ce qu'il faut savoir, c'est qu'on ment beaucoup aux minmatars, surtout lorsqu'ils posent des questions du style: "t'es sûr que ça vole, ce truc ?" Cooking Momo, le 30/08/09

  27. #2397
    Citation Envoyé par Teocali Voir le message
    Ben, c'est la dernière version majeure sortie au moment de l'expiration. Si c'est pas celle que tu utilises, c'est ton problème.
    Non, c'est bien le problème:
    https://sales.jetbrains.com/hc/en-gb...lback-license-


  28. #2398
    Oui, c'est la version majeure disponible au moment de l'achat qu'on a en licence perpétuelle.

    M'enfin c'est toujours mieux que beaucoup d'éditeurs qui ne fournissent tout simplement rien.
    C'est la faute à Arteis

  29. #2399
    okay, oui, c'est comme ça si tu prends un abonnement annuel. Mais si tu prends un abonnement sur un an d'un coup, je suis sur que c'est la V2 que tu as en perpetuel.

    En tout cas, c'était comme ça quand ils sont passés au système d'abonnement.

    EDIT : okay, effectivement, ils ont changé. Faut douze mois d'abonnement sur une version pour qu'elle soit en perpetuelle. D'un coté, c'est une perte pour ceux qui payent un abonnement d'un an a cahque fois, d'un autre c'est un gain pour ceux qui payent mois par mois (avant, ils n'avaient droit a rien)

    Enfin, bon, moi, j'men fous, je paye mon obole a saint-jetbrains tous les ans. Ouais, je suis un fanboy.
    Ce qu'il faut savoir, c'est qu'on ment beaucoup aux minmatars, surtout lorsqu'ils posent des questions du style: "t'es sûr que ça vole, ce truc ?" Cooking Momo, le 30/08/09

  30. #2400
    Je râle, mais je vais resub. Surtout à -50%, et au prix réduit pour la 2ème année...

Page 80 sur 182 PremièrePremière ... 3070727374757677787980818283848586878890130180 ... 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
  •