Crunchez vos adresses URL
|
Rejoignez notre discord
|
Hébergez vos photos
Page 164 sur 334 PremièrePremière ... 64114154156157158159160161162163164165166167168169170171172174214264 ... DernièreDernière
Affichage des résultats 4 891 à 4 920 sur 10008
  1. #4891
    Je ne comprends pas ce qu'ils veulent faire avec la RAM en tableau de pointeurs.
    Pourtant, les émulateurs, j'en ai déjà vu un ou deux.

    Tu es sûr que c'est pas "char data[256]" pour simuler une mémoire à 256 octets?
    Sinon poste ton code quelque part sur le net qu'on mate ça.

    Edit: grilled, par contre recommander gdb à un newbie, c'est salaud, vectra :-)
    Sleeping all day, sitting up all night
    Poncing fags that's all right
    We're on the dole and we're proud of it
    We're ready for 5 More Years

  2. #4892
    Que veux-tu? Ils m'ont fermé le topic de l'actu, faut bien que j'aille troller quelque part
    Sérieux, y'a aussi que mes outils datent un peu

  3. #4893
    C'est très bien gdb.
    "Dieu est mort" · "Si le téléchargement c’est du vol, Linux c’est de la prostitution."

  4. #4894
    T'avoueras que la courbe d'apprentissage est un peu raide :-)
    Sleeping all day, sitting up all night
    Poncing fags that's all right
    We're on the dole and we're proud of it
    We're ready for 5 More Years

  5. #4895
    Le code : http://pastebin.com/e0RZQHKF. Pour gdb c'est le seul que j'ai vu dans le cours, un énorme survol mais je devrais pouvoir me débrouiller avec. Enfin j'espère.
    Ah et les progs à émuler ont cette tête :

    Code:
    offset
    00
    
    code
    49 20
    49 22
    40 20
    48 21
    C9 21
    40 22
    21 01
    12 1F
    48 22
    40 21
    20 01
    10 06
    00 00
    00 00
    00 00
    00 10
    Code:
    offset
    50
    
    code
    49 70
    40 70
    48 71
    48 72
    00 5E
    48 8D
    10 74
    40 71
    48 72
    40 70
    48 71
    00 6C
    48 8D
    10 74
    41 71
    10 6E
    00 00
    00 00
    00 00
    48 73
    40 71
    12 8C
    21 01
    41 71
    40 73
    60 72
    48 73
    10 78
    40 73
    48 71
    10 00

  6. #4896
    Ah, ok, chaque adresse de la RAM contient une chaîne de caractère qui en représente la valeur. C'est bien ce qui est demandé dans l'énoncé? Je demande parce que c'est "original", mais après tout c'est un exercice.
    En tout cas, je soupçonne que chaque ligne de data du fichier couvre deux adresses, et non une seule comme tu l'as implémenté, il faut donc changer ton code de parsing.
    Sleeping all day, sitting up all night
    Poncing fags that's all right
    We're on the dole and we're proud of it
    We're ready for 5 More Years

  7. #4897
    C'est ce qui est demandé ! Et ça reste un exo, je pense pas que le but soit de faire un émulateur parfait.

  8. #4898
    Dans ce cas il te faut très probablement créer deux entrées de deux caractères par ligne.
    Sleeping all day, sitting up all night
    Poncing fags that's all right
    We're on the dole and we're proud of it
    We're ready for 5 More Years

  9. #4899
    Mais pourquoi ça segfaulte du coup ? Au pire on devrait se retrouver avec la moitié de la mémoire pas initialisée.

  10. #4900
    L'erreur se produit visiblement dans la deuxième boucle de la fonction load_image() et seulement pour le deuxième programme :

    Dernière modification par trenks ; 07/03/2014 à 12h43.

  11. #4901
    Tu devrais mettre des assertions un peu partout, ça aide toujours.
    Par exemple "assert(offset >= 0 && offset <= 255)", ou bien à chaque fois que tu écris "data[x]" tu mets juste au dessus "assert(x < 256)"
    Rust fanboy

  12. #4902
    Au passage, vous avez un outil "friendly" à suggérer pour le débogage sous linux?
    Autre que basé sur emacs-gdb

  13. #4903
    emacs et gdb dans le même mot / outil Ca me fait déjà peur !

  14. #4904
    Citation Envoyé par vectra Voir le message
    Au passage, vous avez un outil "friendly" à suggérer pour le débogage sous linux?
    Autre que basé sur emacs-gdb
    printf ?

    si tu buildes en mode debug et que tu utilises gdb (avec l'option -tui eventuellement), c'est assez facile non ?
    the universal language, this is music

  15. #4905
    Citation Envoyé par trenks Voir le message
    L'erreur se produit visiblement dans la deuxième boucle de la fonction load_image() et seulement pour le deuxième programme
    Dans ta deuxième boucle, tu ne peux affecter data[x] si le scanf précédent a retourné EOF. Je ne sais pas si c'est ce qui cause ton plantage, mais c'est en tout cas une erreur.

  16. #4906
    Citation Envoyé par vectra Voir le message
    Au passage, vous avez un outil "friendly" à suggérer pour le débogage sous linux?
    Autre que basé sur emacs-gdb
    GDB TUI , SublimeGdb , Eclipse, QtCreator ?
    "Dieu est mort" · "Si le téléchargement c’est du vol, Linux c’est de la prostitution."

  17. #4907
    Niveau front-ends:
    kdbg sous KDE
    nemiver sous Gnome
    ddd sous tout
    Sachant qu'aucun n'est la panacée, loin de là.
    Sleeping all day, sitting up all night
    Poncing fags that's all right
    We're on the dole and we're proud of it
    We're ready for 5 More Years

  18. #4908
    D'après https://sourceware.org/gdb/wiki/GDB%20Front%20Ends, kdbg et ddd utilisent une vieille API.
    "Dieu est mort" · "Si le téléchargement c’est du vol, Linux c’est de la prostitution."

  19. #4909
    Ça change un truc en pratique ou c'est juste que ça fait chier la team gdb de maintenir les deux interfaces?
    Sleeping all day, sitting up all night
    Poncing fags that's all right
    We're on the dole and we're proud of it
    We're ready for 5 More Years

  20. #4910
    J'en sais rien, je supputais simplement que ça voulait dire "vieux et moche".
    "Dieu est mort" · "Si le téléchargement c’est du vol, Linux c’est de la prostitution."

  21. #4911
    Ca va finir en CEDET-gdb alors

  22. #4912
    Okay ! Je viens poser mon premier problème pour un projet de bases de données pour mon DUT Info.

    J'explique :

    On a un fichier csv contenant ~260k tweets contenant tous le mot "ukraine" dedans.

    Code:
    "Mon Mar 18 16:16:59 CET 2013";"@FritzingOrg";"How";"is";"the";"digital";"age";"influencing";"our";"daily";"lifes?";"http://t.co/fbmg6ephEp"
    "Mon Mar 18 16:17:03 CET 2013";"@benpro82";"RT";"@mikko:";"Congratulations";"to";"http://t.co/9mU6xf4DNC";"for";"hitting";"double";"digits!#highscore"
    "Mon Mar 18 16:18:51 CET 2013";"@arduino";"RT";"@tinkerguymod:";"As";"a";"kid";"I";"couldn't";"afford";"equipment";"I";"needed,";"now";"I";"share";"what";"I";"have";"&";"teach";"what";"I";"know.";"";"@make";"@arkmod";"#Tinkerfest"
    "Mon Mar 18 16:19:51 CET 2013";"@arduino";"RT";"@curiousoctopus:";"Every";"hacker’s";"and";"maker’s";"dream:";"“@DomusWeb:";"Ivrea,";"a";"visit";"to";"the";"production";"facilities";"of";"the";"@Arduino";"platform";"h";"..."
    "Mon Mar 18 16:20:22 CET 2013";"@arduino";"RT";"@dcuartielles:";"some";"more";"examples";"from";"the";"@Arduino";"Castilla";"experiment:";"https://t.co/eXMGiy0RRh"
    "Mon Mar 18 16:20:35 CET 2013";"@Xavier_Combelle";"RT";"@el_agar:";"Les";"Enfoirés,";"cette";"étrange";"émission";"dans";"laquelle";"des";"millionnaires";"demandent";"aux";"smicards";"de";"donner";"aux";"RMIstes."
    
    ...                 `
    On veut convertir ce fichier csv en un fichier "trans". Chaque mot unique du pool de tweets à notre disposition aura un entier qui lui est affecté.

    Code:
    1 2 3 4 5 6
    7 1 3 8 9 10
    1 11 12 13 14
    15 16 17 18 19
    Cette conversion est nécessaire pour utiliser un algorithme qui nous est fourni dans le projet.

    Le problème c'est que dans notre première implémentation, pour chaque mot de chaque tweet, on fait un parcours de notre tableau contenant tous les mots déja enregistrés des tweets déja traités, ce qui n'est pas idéal.

    Je pense donc qu'il est indispensable qu'on (mon équipier de projet et moi) optimise notre recherche du mot courant dans la liste des mots connus. Faut-il que l'on trie notre liste après chaque tweet pour avoir accès à une recherche la plus rapide possible après chaque tweet traité ? Ou autre chose, je sais pas trop.

    J'ai l'impression de pas m'être très bien expliqué donc bon .

    Voici notre boucle de conversion actuelle (c'est du Java) :

    Code:
     while (scanner.hasNextLine()){
                lineRead = scanner.nextLine();
    //            System.out.println(lineRead);
                tweets = lineRead.split(";");
                for (int i = 2; i < tweets.length; ++i){
                    if (! collectTweet.contains(tweets[i])){
                            Convertisseur.setCollectTweet(tweets[i]);
                    }
                }
                FileWriter fichier = new FileWriter(trans, true);
                for (int j = 0; j < tweets.length; ++j) {
                    for (int i = 0; i < collectTweet.size(); ++i){
                        if (tweets[j].equals(collectTweet.get(i))){
                            fichier.write(i + " ");fichier.flush();
                        }
                    }
                }
    P.S : 50 minutes d'éxecution actuellement et c'est toujours pas fini .


  23. #4913
    Citation Envoyé par gregounech Voir le message
    Okay ! Je viens poser mon premier problème pour un projet de bases de données pour mon DUT Info.

    J'explique :

    On a un fichier csv contenant ~260k tweets contenant tous le mot "ukraine" dedans.

    Code:
    "Mon Mar 18 16:16:59 CET 2013";"@FritzingOrg";"How";"is";"the";"digital";"age";"influencing";"our";"daily";"lifes?";"http://t.co/fbmg6ephEp"
    "Mon Mar 18 16:17:03 CET 2013";"@benpro82";"RT";"@mikko:";"Congratulations";"to";"http://t.co/9mU6xf4DNC";"for";"hitting";"double";"digits!#highscore"
    "Mon Mar 18 16:18:51 CET 2013";"@arduino";"RT";"@tinkerguymod:";"As";"a";"kid";"I";"couldn't";"afford";"equipment";"I";"needed,";"now";"I";"share";"what";"I";"have";"&";"teach";"what";"I";"know.";"";"@make";"@arkmod";"#Tinkerfest"
    "Mon Mar 18 16:19:51 CET 2013";"@arduino";"RT";"@curiousoctopus:";"Every";"hacker’s";"and";"maker’s";"dream:";"“@DomusWeb:";"Ivrea,";"a";"visit";"to";"the";"production";"facilities";"of";"the";"@Arduino";"platform";"h";"..."
    "Mon Mar 18 16:20:22 CET 2013";"@arduino";"RT";"@dcuartielles:";"some";"more";"examples";"from";"the";"@Arduino";"Castilla";"experiment:";"https://t.co/eXMGiy0RRh"
    "Mon Mar 18 16:20:35 CET 2013";"@Xavier_Combelle";"RT";"@el_agar:";"Les";"Enfoirés,";"cette";"étrange";"émission";"dans";"laquelle";"des";"millionnaires";"demandent";"aux";"smicards";"de";"donner";"aux";"RMIstes."
    
    ...                 `
    On veut convertir ce fichier csv en un fichier "trans". Chaque mot unique du pool de tweets à notre disposition aura un entier qui lui est affecté.

    Code:
    1 2 3 4 5 6
    7 1 3 8 9 10
    1 11 12 13 14
    15 16 17 18 19
    Cette conversion est nécessaire pour utiliser un algorithme qui nous est fourni dans le projet.

    Le problème c'est que dans notre première implémentation, pour chaque mot de chaque tweet, on fait un parcours de notre tableau contenant tous les mots déja enregistrés des tweets déja traités, ce qui n'est pas idéal.

    Je pense donc qu'il est indispensable qu'on (mon équipier de projet et moi) optimise notre recherche du mot courant dans la liste des mots connus. Faut-il que l'on trie notre liste après chaque tweet pour avoir accès à une recherche la plus rapide possible après chaque tweet traité ? Ou autre chose, je sais pas trop.

    J'ai l'impression de pas m'être très bien expliqué donc bon .

    Voici notre boucle de conversion actuelle (c'est du Java) :

    Code:
     while (scanner.hasNextLine()){
                lineRead = scanner.nextLine();
    //            System.out.println(lineRead);
                tweets = lineRead.split(";");
                for (int i = 2; i < tweets.length; ++i){
                    if (! collectTweet.contains(tweets[i])){
                            Convertisseur.setCollectTweet(tweets[i]);
                    }
                }
                FileWriter fichier = new FileWriter(trans, true);
                for (int j = 0; j < tweets.length; ++j) {
                    for (int i = 0; i < collectTweet.size(); ++i){
                        if (tweets[j].equals(collectTweet.get(i))){
                            fichier.write(i + " ");fichier.flush();
                        }
                    }
                }
    P.S : 50 minutes d'éxecution actuellement et c'est toujours pas fini .
    L'écriture dans un fichier à chaque itération est très probablement source de gros ralentissement, d'autant plus si tu forces le flush à chaque fois.
    La programmation est une course entre le développeur, qui s’efforce de produire des applications à l’épreuve des imbéciles, et l’univers qui s’efforce de produire de meilleurs imbéciles... L’univers a une bonne longueur d’avance !!!

  24. #4914
    Ah oui tiens, c'est pas moi qui l'ai écrit (#excusesbidons), l'ouverture de fichier 260k fois c'est pas terrible.

    Je bouge donc la création du filewriter avant la boucle mais sinon comment tu préconiserais que l'écriture soit faite. Déja peut-etre construire la string qui constituera tout le tweet pendant les doubles boucle for et ensuite l'écrite, ça devrait déja diminuer le nombre d'écriture par le nombre de mots par tweets ?


  25. #4915
    Ben le concept c'est : écriture dans le buffer, puis quand les traitements sont terminés, écriture dans le fichier.

  26. #4916
    C'est du java on dirait non ? Plutôt qu'une liste tu met tous les mots dans une HashMap et c'est réglé ton problème de recherche.
    php inventeur de l'égalité non transitive, ""==0, "0"==0 mais ""!="0"

  27. #4917
    Citation Envoyé par gregounech Voir le message
    Ah oui tiens, c'est pas moi qui l'ai écrit (#excusesbidons), l'ouverture de fichier 260k fois c'est pas terrible.

    Je bouge donc la création du filewriter avant la boucle mais sinon comment tu préconiserais que l'écriture soit faite.
    Et vire le flush de la boucle, ça force une écriture qui vide les buffers internes de la lib (j'ose espérer que Java fait du buffering en interne...).

    Déja peut-etre construire la string qui constituera tout le tweet pendant les doubles boucle for et ensuite l'écrite, ça devrait déja diminuer le nombre d'écriture par le nombre de mots par tweets ?
    Faudrait que tu utilises une table de hash pour dégager la boucle interne sur 'i', enfin si la classe de collectTweet supporte le hash.

  28. #4918
    Ou alors, si t'as le droit, tu stockes tout en bdd, et tu laisses le moteur de la base gérer ça.

  29. #4919
    Citation Envoyé par newbie06 Voir le message
    Faudrait que tu utilises une table de hash pour dégager la boucle interne sur 'i', enfin si la classe de collectTweet supporte le hash.
    Je soupçonne qu'il ne connaît pas encore cet outil pour l'exercice.

    En tout cas, si on reste dans les mêmes algorithmes quadratiques, il peut faire ceci:
    Fusionner la première et la seconde boucle en une seule passe.
    Sortir de la boucle nichée quand il a trouvé quelque chose.
    Tu comprends ce que je veux dire, gregounech?
    Sleeping all day, sitting up all night
    Poncing fags that's all right
    We're on the dole and we're proud of it
    We're ready for 5 More Years

  30. #4920
    Moi je le ferai plus dans ce genre même s'il manque quelques infos (genre ce que tu fais de la date et du nom de l'utilisateur)

    Code:
    Map knownWords = new HashMap(1000);
    BufferedWriter fichier = null;
    try
    {
        fichier = new BufferedWriter(new FileWriter(trans));
        while (scanner.hasNextLine())
        {
            lineRead = scanner.nextLine();
            String[] tweets = lineRead.split(";");
            String word = tweets[i];
            for (int i = 0; i < tweets.length; ++i)
            {
                Integer val = knownWords.get(word);
                if (val == null)
                {
                	val = knownWords.size() + 1;
                	knownWords.put(word, val);
                }
                if (i != 0)
                	    writer.write(' ');
                writer.write(val);
            }
            writer.write('\n');
        }
    }
    finally
    {
        if (fichier != null)
        	    fichier.close();
    }
    En tout cas il faut éviter a tout prix d'ouvrir et fermer le fichier, ne pas faire de flush à chaque mot, ne pas faire de parcours de liste pour trouver les mots (code non certifié, j'ai pas testé s'il marche)
    php inventeur de l'égalité non transitive, ""==0, "0"==0 mais ""!="0"

Page 164 sur 334 PremièrePremière ... 64114154156157158159160161162163164165166167168169170171172174214264 ... 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
  •