IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Comprendre ce SIGTRAP!


Sujet :

C++

  1. #1
    Membre chevronné
    Avatar de cpcdos
    Homme Profil pro
    Ingé/concepteur chez Capgemini. Alstom APTIS. Concepteur de Felly autonomous vehicle software.
    Inscrit en
    Mai 2010
    Messages
    588
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingé/concepteur chez Capgemini. Alstom APTIS. Concepteur de Felly autonomous vehicle software.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2010
    Messages : 588
    Points : 1 770
    Points
    1 770
    Billets dans le blog
    1
    Par défaut Comprendre ce SIGTRAP!
    Bonjour à tous,
    ça fais plusieurs fois que lors de l'exécution d'un simple programme compilé avec GCC 4.7.3 en C sous DOS avec l'étendeur DPMI, je tombe sur le signal SIGTRAP.
    Je n'es pourtant pas mis de breakpoint/int3 comme explique plusieurs sites internet. Pour que ça sois plus facile, un simple copier coller de ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    #include <stdio.h> /* printf, sprintf */
    #include <stdlib.h> /* read, write, close */
    #include <string.h> /* memcpy, memset */
    #include <sys/socket.h> /* socket, connect */
    #include <netinet/in.h> /* struct sockaddr_in, struct sockaddr */
    #include <netdb.h> /* struct hostent, gethostbyname */
     
    void error(const char *msg) { perror(msg); exit(0); }
     
    int main(int argc,char *argv[])
    {
        /* first what are we going to send and where are we going to send it? */
        int portno =        80;
        char *host =        "api.somesite.com";
        char *message_fmt = "POST /apikey=%s&command=%s HTTP/1.0\n\n";
     
        struct hostent *server;
        struct sockaddr_in serv_addr;
        int sockfd, bytes, sent, received, total;
        char message[1024],response[4096];
     
        if (argc < 3) { puts("Parameters: <apikey> <command>"); exit(0); }
     
        /* fill in the parameters */
        sprintf(message,message_fmt,argv[1],argv[2]);
        printf("Request:\n%s\n",message);
     
        /* create the socket */
        sockfd = socket(AF_INET, SOCK_STREAM, 0);
        if (sockfd < 0) error("ERROR opening socket");
     
        /* lookup the ip address */
        server = gethostbyname(host);
        if (server == NULL) error("ERROR, no such host");
     
        /* fill in the structure */
        memset(&serv_addr,0,sizeof(serv_addr));
        serv_addr.sin_family = AF_INET;
        serv_addr.sin_port = htons(portno);
        memcpy(&serv_addr.sin_addr.s_addr,server->h_addr,server->h_length);
     
        /* connect the socket */
        if (connect(sockfd,(struct sockaddr *)&serv_addr,sizeof(serv_addr)) < 0)
            error("ERROR connecting");
     
        /* send the request */
        total = strlen(message);
        sent = 0;
        do {
            bytes = write(sockfd,message+sent,total-sent);
            if (bytes < 0)
                error("ERROR writing message to socket");
            if (bytes == 0)
                break;
            sent+=bytes;
        } while (sent < total);
     
        /* receive the response */
        memset(response,0,sizeof(response));
        total = sizeof(response)-1;
        received = 0;
        do {
            bytes = read(sockfd,response+received,total-received);
            if (bytes < 0)
                error("ERROR reading response from socket");
            if (bytes == 0)
                break;
            received+=bytes;
        } while (received < total);
     
        if (received == total)
            error("ERROR storing complete response from socket");
     
        /* close the socket */
        close(sockfd);
     
        /* process response */
        printf("Response:\n%s\n",response);
     
        return 0;
    }
    provenant d'ici fonctionne parfaitement, mais me génère un SIGTRAP à la fin de l'exécution.

    ça pourrait être tout bête, mais si quelqu'un pourrait m'éclairer sur ce phénomène que je n'arrive pas à comprendre..

    Merci, bonne journée
    Sébastien FAVIER
    Felly-software Autonomous vehicle software for everyone.
    co-kernel Cpcdos OSx un noyau 32bits simplifié et complet.. ou presque - Le fofo officiel c'est par ici.
    Les cours sur les systèmes c'est par là

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 074
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 074
    Points : 12 120
    Points
    12 120
    Par défaut
    Oulà, j’espère que vous de très très bonne raison de travaille sur de telles antiquités et en n'utilisant pas toute la ribambelle de bibliothèques qui ferait ce trucs de manière bien plus simple, plus concise, plus efficacement et bien plus sûre.

    SIGTRAP est un enrobage UNIX/POSIX de plusieurs sources possibles, int3 (opcode 0xCC) en n'est que la cause la plus probable, mais les architectures INTEL "récentes" disposent de plusieurs registres pour déclencher des interruptions en cas de modification de cases mémoires.
    Il est même probable que SIGTRAP englobe d'autres scénarios.

    Le débugging en mode pas à pas de l'application devrait donner le fin mot de l'histoire, non ?

  3. #3
    Membre chevronné
    Avatar de cpcdos
    Homme Profil pro
    Ingé/concepteur chez Capgemini. Alstom APTIS. Concepteur de Felly autonomous vehicle software.
    Inscrit en
    Mai 2010
    Messages
    588
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingé/concepteur chez Capgemini. Alstom APTIS. Concepteur de Felly autonomous vehicle software.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2010
    Messages : 588
    Points : 1 770
    Points
    1 770
    Billets dans le blog
    1
    Par défaut
    Bonsoir, merci pour votre réponse

    Oui j'ai de bonnes raisons

    Le débugging en mode pas à pas de l'application devrait donner le fin mot de l'histoire, non ?
    Je suis très confus..

    Je viens un instant de tester le GDB en compilant avec le paramètre -g je teste pas à pas, tout fonctionne sans avoir ce SIGTRAP
    Alors je me suis dit que c'était l'organisation de la mémoire ram/exécution qui est différente avec ce GDB en main-process, donc je teste sans GDB et je n'es pas non plus ce SIGTRAP.
    DONC je recompile sans le paramètre -g histoire de revenir sur le code d'origine et bon dieu je n'es pas non plus ce SIGTRAP!
    J'avais eu ce signal sur un ACER ASPIRE x1700 Processeur Intel Pentium Dual-Core E2220

    Es-ce la mémoire RAM endommagée qui par hasard contient "1100 1100" dans le segment de mon code ?
    Sébastien FAVIER
    Felly-software Autonomous vehicle software for everyone.
    co-kernel Cpcdos OSx un noyau 32bits simplifié et complet.. ou presque - Le fofo officiel c'est par ici.
    Les cours sur les systèmes c'est par là

  4. #4
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 860
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 860
    Points : 219 064
    Points
    219 064
    Billets dans le blog
    120
    Par défaut
    Bonjour,

    À ce moment là, il faut utiliser valgrind, pour voir si vous ne faites pas n'importe quoi avec la mémoire (lecture/écriture dans des zones qui ne vous appartiennent pas, saut sur des variables non initialisées...).
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  5. #5
    Membre chevronné
    Avatar de cpcdos
    Homme Profil pro
    Ingé/concepteur chez Capgemini. Alstom APTIS. Concepteur de Felly autonomous vehicle software.
    Inscrit en
    Mai 2010
    Messages
    588
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingé/concepteur chez Capgemini. Alstom APTIS. Concepteur de Felly autonomous vehicle software.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2010
    Messages : 588
    Points : 1 770
    Points
    1 770
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    Merci pour votre réponse, concernant Valgrind, apparemment il ne ferons pas de versions compatible NT, je peux installer une VM d'ubuntu, mais avant j'aimerai commencer par le plus simple, il y aurait-il donc pas une semblable mais pour Windows (ou DOS) ?
    Merci
    Sébastien FAVIER
    Felly-software Autonomous vehicle software for everyone.
    co-kernel Cpcdos OSx un noyau 32bits simplifié et complet.. ou presque - Le fofo officiel c'est par ici.
    Les cours sur les systèmes c'est par là

  6. #6
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 074
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 074
    Points : 12 120
    Points
    12 120
    Par défaut
    J'ai du louper un truc, vous faites un DOS extender, donc DOS et en aucun cas NT et vous vous souciez de la compatibilité d'un outil avec Windows NT ???
    L'option -g change pas mal de chose dans l'exécutable, je crois. Cela peut donc neutraliser involontairement un bug latent.
    Normalement, vous devriez quand même pouvoir débugger sans -g, juste avec le code assembleur.

  7. #7
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 860
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 860
    Points : 219 064
    Points
    219 064
    Billets dans le blog
    120
    Par défaut
    Citation Envoyé par cpcdos Voir le message
    Bonjour,
    Merci pour votre réponse, concernant Valgrind, apparemment il ne ferons pas de versions compatible NT, je peux installer une VM d'ubuntu, mais avant j'aimerai commencer par le plus simple, il y aurait-il donc pas une semblable mais pour Windows (ou DOS) ?
    Merci
    Pour Windows : Dr Memory. Cela fait exactement la même chose que valgrind, donc tout ira bien.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  8. #8
    Membre chevronné
    Avatar de cpcdos
    Homme Profil pro
    Ingé/concepteur chez Capgemini. Alstom APTIS. Concepteur de Felly autonomous vehicle software.
    Inscrit en
    Mai 2010
    Messages
    588
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingé/concepteur chez Capgemini. Alstom APTIS. Concepteur de Felly autonomous vehicle software.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2010
    Messages : 588
    Points : 1 770
    Points
    1 770
    Billets dans le blog
    1
    Par défaut
    LittleWhite : Super merci je vais tester ça!

    bacelar : Ah non non désolé je me suis mal exprimé, ou voulais parler d'un outil comme Valgrind mais compatible DOS (du style GDB) ou NT.
    L'option -g change pas mal de chose dans l'exécutable, je crois. Cela peut donc neutraliser involontairement un bug latent.
    C'est ce qu'il me semblais!
    Et dernière question, en toute logique on est d'accord que l'option -g génère un code "moins optimisé" du style qu'il y aura bien plus d'instructions entre chaque étapes du code d'origine ?
    Sébastien FAVIER
    Felly-software Autonomous vehicle software for everyone.
    co-kernel Cpcdos OSx un noyau 32bits simplifié et complet.. ou presque - Le fofo officiel c'est par ici.
    Les cours sur les systèmes c'est par là

  9. #9
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 074
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 074
    Points : 12 120
    Points
    12 120
    Par défaut
    -g n'est vraisemblablement pas forcement compatible avec toutes les autres options, et en particulier les options d'optimisation.

  10. #10
    Membre chevronné
    Avatar de cpcdos
    Homme Profil pro
    Ingé/concepteur chez Capgemini. Alstom APTIS. Concepteur de Felly autonomous vehicle software.
    Inscrit en
    Mai 2010
    Messages
    588
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingé/concepteur chez Capgemini. Alstom APTIS. Concepteur de Felly autonomous vehicle software.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2010
    Messages : 588
    Points : 1 770
    Points
    1 770
    Billets dans le blog
    1
    Par défaut
    D'accord, merci à vous deux pour vos réponses

    Sujet résolu.
    Sébastien FAVIER
    Felly-software Autonomous vehicle software for everyone.
    co-kernel Cpcdos OSx un noyau 32bits simplifié et complet.. ou presque - Le fofo officiel c'est par ici.
    Les cours sur les systèmes c'est par là

  11. #11
    Membre chevronné
    Avatar de cpcdos
    Homme Profil pro
    Ingé/concepteur chez Capgemini. Alstom APTIS. Concepteur de Felly autonomous vehicle software.
    Inscrit en
    Mai 2010
    Messages
    588
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingé/concepteur chez Capgemini. Alstom APTIS. Concepteur de Felly autonomous vehicle software.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2010
    Messages : 588
    Points : 1 770
    Points
    1 770
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    je vous ré-écrit, car je viens de faire quelques petites modifications du code source, et ce SIGTRAP ré-apparaît, alors je profite pour ajouter l'argument -g , SIGTRAP est toujours présent et je fais donc un GDB.

    Donc le programme fonctionne parfaitement je peux envoyer et recevoir une informations HTTP, mais à la fin d'exécution, voici le résultat :
    Nom : SIGTRAP.png
Affichages : 356
Taille : 9,2 Ko

    Je n'es pas compris comment ceci aurai pu se produire encore une fois, si vous pouvez m'aider à comprendre, j'ai mis à disposition le code source de [lgn.1070] pcpkt.c provenant de Wattcp32 (Grosse ressemblance avec Linux) et la fonction PROFILE_START() [lgn.765] : timer.c
    sachant que dans le timer.h il y a
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #define PROFILE_START(func) profile_start (func)
    (Vu la case différente)

    Merci
    Sébastien FAVIER
    Felly-software Autonomous vehicle software for everyone.
    co-kernel Cpcdos OSx un noyau 32bits simplifié et complet.. ou presque - Le fofo officiel c'est par ici.
    Les cours sur les systèmes c'est par là

  12. #12
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 074
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 074
    Points : 12 120
    Points
    12 120
    Par défaut
    Vous êtes sur que vous avez attendu la fin de tous les threads et autre "fiber" avant de sortir du main ?
    Faudrait aussi le code source de la fonction "profile_start".

  13. #13
    Membre chevronné
    Avatar de cpcdos
    Homme Profil pro
    Ingé/concepteur chez Capgemini. Alstom APTIS. Concepteur de Felly autonomous vehicle software.
    Inscrit en
    Mai 2010
    Messages
    588
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingé/concepteur chez Capgemini. Alstom APTIS. Concepteur de Felly autonomous vehicle software.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2010
    Messages : 588
    Points : 1 770
    Points
    1 770
    Billets dans le blog
    1
    Par défaut
    Le code source de profile_start() est dans la pièce jointe de mon message précédent à partir de la ligne 765.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    /*
     * Called on entry of something to profile.
     */
    void profile_start (const char *str)
    {
      if (prof_fout)
      {
        fprintf (prof_fout, "  profiling %-12.12s ", str);
        prof_start = get_rdtsc();
        num_profs++;
      }
    }
    Elle ne fait que de lire le compteur de temps pourquoi ça planterai ici..

    Je n'es pas crée de threads particuliers, il y en a qu'un seul, tout est sous DOS mais je vois pourquoi tu me demande ça mais au point de vue de mon code il y a que 1 thread, mais peut être pas au niveau de Wattcp32. Hmm d'après le code source, il y a une routine ISR qui tourne, ça peut jouer ?

    Ça me rappelle un cours en BTS, en C# dés qu'on envoie une requête sur le réseau et qu'on ferme le socket ou bien le programme juste après, à 70% des cas sous certains "bon PC" x86 ça envoie pas et en C sous ATMega32 ça crash. On devait quasiment toujours mettre quelque microsecondes de pause avant de fermer un socket. A mon avis c'est le temps que l'information passe toutes les couches du model OSI.
    J'ai pas mon PC sous mes yeux avant quelque heures, mais avec GCC, cette théorie peut paraître correcte ?
    Sébastien FAVIER
    Felly-software Autonomous vehicle software for everyone.
    co-kernel Cpcdos OSx un noyau 32bits simplifié et complet.. ou presque - Le fofo officiel c'est par ici.
    Les cours sur les systèmes c'est par là

  14. #14
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 074
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 074
    Points : 12 120
    Points
    12 120
    Par défaut
    il y a une routine ISR qui tourne, ça peut jouer ?
    Au que oui.
    Les traitements réseaux sont éminemment asynchrones et beaucoup de traitement peuvent se faire via des routines déportées dans le temps.

    Ce que je vois moi surtout, dans ce code, c'est l'utilisation massive, soit de champs d'un objet soit de variables globales.
    C'est le genre de truc qui n'aime pas qu'on utilise dans des objets déjà désalloués par la sortie du main.

    Quand vous sortez du main, vous devez avoir fait le ménage sur tout ce qui peut revenir dans la zone mémoire de votre application, (ISR, callback de thread, ...)

  15. #15
    Membre chevronné
    Avatar de cpcdos
    Homme Profil pro
    Ingé/concepteur chez Capgemini. Alstom APTIS. Concepteur de Felly autonomous vehicle software.
    Inscrit en
    Mai 2010
    Messages
    588
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingé/concepteur chez Capgemini. Alstom APTIS. Concepteur de Felly autonomous vehicle software.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2010
    Messages : 588
    Points : 1 770
    Points
    1 770
    Billets dans le blog
    1
    Par défaut
    D'accord, merci pour votre réponse
    Je vais me débrouiller pour décharger ses objets, quitte à placer quelque micro-secondes, ou reprendre le code depuis zéro, je pense que ça serai une meilleure solution.

    Dernière question, comment on invoque le "garbage collector" sous GCC ? Apparemment il est désactivé par défaut, si vous avez des pistes Je sais pas ce que ça donne, mais j'aimerai bien tester .
    Sébastien FAVIER
    Felly-software Autonomous vehicle software for everyone.
    co-kernel Cpcdos OSx un noyau 32bits simplifié et complet.. ou presque - Le fofo officiel c'est par ici.
    Les cours sur les systèmes c'est par là

  16. #16
    Membre expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2011
    Messages
    739
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 739
    Points : 3 627
    Points
    3 627
    Par défaut
    À ma connaissance, aucun compilateur ne le supporte officiellement. Les pointeurs intelligents suffisent dans la majorité des situations. Après, il est toujours possible de faire un allocateur personnalisé qui prend le rôle d'un GC et l'optimiser pour l'usage mémoire qui est fait.

    Boost propose un truc comme pool_allocator. Des propositions du standard vont également dans ce sens avec les allocateurs polymorphiques.

  17. #17
    Membre chevronné
    Avatar de cpcdos
    Homme Profil pro
    Ingé/concepteur chez Capgemini. Alstom APTIS. Concepteur de Felly autonomous vehicle software.
    Inscrit en
    Mai 2010
    Messages
    588
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingé/concepteur chez Capgemini. Alstom APTIS. Concepteur de Felly autonomous vehicle software.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2010
    Messages : 588
    Points : 1 770
    Points
    1 770
    Billets dans le blog
    1
    Par défaut
    Merci pour votre réponse

    Cordialement
    Sébastien FAVIER
    Felly-software Autonomous vehicle software for everyone.
    co-kernel Cpcdos OSx un noyau 32bits simplifié et complet.. ou presque - Le fofo officiel c'est par ici.
    Les cours sur les systèmes c'est par là

Discussions similaires

  1. Réponses: 2
    Dernier message: 21/02/2005, 10h42
  2. Réponses: 12
    Dernier message: 08/02/2005, 23h42
  3. [langage] comprendre une syntaxe particulière
    Par mat21 dans le forum Langage
    Réponses: 4
    Dernier message: 08/12/2004, 18h12
  4. [Concept][JavaBeans] Comprendre ?
    Par nicoo dans le forum Langage
    Réponses: 15
    Dernier message: 08/12/2004, 08h01
  5. [Procédure][java] A n'y rien comprendre
    Par Stessy dans le forum SQL
    Réponses: 2
    Dernier message: 18/03/2004, 15h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo