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

Réseau C Discussion :

pthread.h mon ami


Sujet :

Réseau C

  1. #1
    Membre averti Avatar de Stevie Wonder
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    62
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 62
    Par défaut pthread.h mon ami
    Un ptit soucis con comme la mort.
    Voila quelques heures que j'ai commencé a faire mumuse avec les sockets. Apres moults balades sur les forums tutos etc... je suis arrivé a faire un serveur et des clients qui tape la discussion entre eux. Oui j'en viens a mon probleme ca arrive...
    Le bin's c'est que j'ai decidé de faire un systeme de taches (threads) , d'ailleurs gg ta page sur les threads POSIX Emmanuel Delahaye, mais malheureusement, le fichier en tete pthread est introuvable. Donc voila, quel en tete correspond ? Que faire ? quel temps fait il ?

    Merci d'avance.

  2. #2
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par Stevie Wonder
    Le bin's c'est que j'ai decidé de faire un systeme de taches (threads) , d'ailleurs gg ta page sur les threads POSIX Emmanuel Delahaye, mais malheureusement, le fichier en tete pthread est introuvable. Donc voila, quel en tete correspond ? Que faire ?
    Il faut installer les pthreads sur ta machine.

    Pour windows : http://sourceware.org/pthreads-win32/

    Si ce lien n'est pas sur ma page, c'est un oubli ... que je viens de corriger...

  3. #3
    Membre averti Avatar de Stevie Wonder
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    62
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 62
    Par défaut
    Super mister Emmanuel, j'installe ca et je tiens au courant. J'avais cru comprend que les threads norme POSIX etait standard. Je mettrais la balise RESOLU sous peu.

  4. #4
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par Stevie Wonder
    Super mister Emmanuel, j'installe ca et je tiens au courant. J'avais cru comprend que les threads norme POSIX etait standard. Je mettrais la balise RESOLU sous peu.
    C'est standard POSIX.1, mais pas standard C.

  5. #5
    Membre averti Avatar de Stevie Wonder
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    62
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 62
    Par défaut
    Suite de ma petite aventure "threadienne".

    Considerons les erreurs de compilation suivantes :
    main.obj : error LNK2001: unresolved external symbol __imp__pthread_join
    main.obj : error LNK2001: unresolved external symbol __imp__pthread_create


    J'ai pourtant bien ajouté la lib et le fichier en tete dans les bons emplacements. N'etant pas habitué a coder sous windows et encore moins sous VC++, je ne vois pas trop quoi faire a part regarder les regles de compilation et m'assuré d'avoir placé les fichiers aux bons endroits. J'attends votre reponse avec impatience. Merchi.

  6. #6
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par Stevie Wonder
    Considerons les erreurs de compilation suivantes :
    main.obj : error LNK2001: unresolved external symbol __imp__pthread_join
    main.obj : error LNK2001: unresolved external symbol __imp__pthread_create
    Ce sont des erreurs d'édition de lien, pas de compilation. La bibliothèque pthreads pour VC++ (quelque soit son nom exact, probablement un xxx.lib) n'a pas été ajoutée au projet.
    J'ai pourtant bien ajouté la lib et le fichier en tete dans les bons emplacements. N'etant pas habitué a coder sous windows et encore moins sous VC++, je ne vois pas trop quoi faire a part regarder les regles de compilation et m'assuré d'avoir placé les fichiers aux bons endroits. J'attends votre reponse avec impatience.
    Aucune idée, j'utilise des logiciels libres comme Code::Blocks...

    Demande ici comment on installe une bibliothèque tierce avec VC++.

  7. #7
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par défaut
    Tu n'as sans doute pas précisé au projet qu'il fallait qu'il utilise la lib.
    Regarde dans les options du projet, rubrique Linker->Input...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  8. #8
    Membre averti Avatar de Stevie Wonder
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    62
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 62
    Par défaut
    Ha, merci. C'est deja mieux, ca compile, maintenant il ne trouve pas la dll rattachée a cette lib. J'ai cherché un peu ou la placer mais ca donne rien.

    Jveux retourner coder sous UN!X.. emacs me manque

  9. #9
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par Stevie Wonder
    Ha, merci. C'est deja mieux, ca compile, maintenant il ne trouve pas la dll rattachée a cette lib. J'ai cherché un peu ou la placer mais ca donne rien.
    Il faut la mettre dans le répertoire /windows ou /windows/system comme tu veux.
    Jveux retourner coder sous UN!X.. emacs me manque
    Y'a pas de .so sous Unix ? .

  10. #10
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par défaut
    Citation Envoyé par Emmanuel Delahaye
    Il faut la mettre dans le répertoire /windows ou /windows/system comme tu veux.
    Il est déconseillé de mettre "comme ça" des DLLs dans Windows\System.
    Je pense qu'il est plus propre de mettre la DLL dans un répertoire quelquonque qui se trouve dans le PATH (ou d'ajouter le chemin de la DLL dans le PATH)...
    Sinon, tu peux aussi copier la DLL dans le répertoire contenant l'exécutable...

    Dynamic-Link Library Search Order
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  11. #11
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par Médinoc
    Il est déconseillé de mettre "comme ça" des DLLs dans Windows\System.
    Qu'est-ce que je risque ? Un effacement en cas restauration ?

  12. #12
    Membre averti Avatar de Stevie Wonder
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    62
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 62
    Par défaut
    Citation Envoyé par Emmanuel Delahaye
    Il faut la mettre dans le répertoire /windows ou /windows/system comme tu veux.
    Merci bocoups. Ca me posera plus de problemes a l'avenir.

    Citation Envoyé par Emmanuel Delahaye
    Y'a pas de .so sous Unix ? .
    Pas encore eu trop a faire aux .so pour en juger pour l'instant

  13. #13
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par défaut
    J'ignore s'il y a vraiment des risques, mais s'il y en a, je dirais:
    • Un effacement en cas de restauration.
    • Un froncement de sourcils des détecteurs de programmes "potentiellement dangereux" (anti-virus, anti-spyware, etc).

    Mais surtout, ça parait moins élégant, et à la fin, si on supprime le programme, on ne sait plus si la DLL est toujours utilisée ou non...
    (Il y a une clé dans la base de registre pour le comptage, elle est utilisée par les programmes d'installation, mais pas par une copie manuelle).
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  14. #14
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par Stevie Wonder
    Merci bocoups. Ca me posera plus de problemes a l'avenir.
    Mais je reconnais que c'est un peu goret... Suit plutôt les bons conseils de Medinoc...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. binding de GridViewColumn width n'est pas mon ami !
    Par ikeas dans le forum Windows Presentation Foundation
    Réponses: 7
    Dernier message: 19/07/2008, 21h16
  2. Mon ami le binding
    Par ikeas dans le forum Windows Presentation Foundation
    Réponses: 3
    Dernier message: 18/07/2008, 08h49
  3. sql mon ami. problème sur une syntaxe
    Par sebinator dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 16/07/2008, 17h38
  4. ZERS mon Ami
    Par Poisson59 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 18/09/2006, 15h54

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