Bonjour
je suis en train de crée une librairie COM a l'aide de ATL, et j'ai besoin d'utiliser les threads, mais je ne sais pas comment déclarer et utiliser un thread en C++.
merci pour votre aide
Bonjour
je suis en train de crée une librairie COM a l'aide de ATL, et j'ai besoin d'utiliser les threads, mais je ne sais pas comment déclarer et utiliser un thread en C++.
merci pour votre aide
Bonjour,
Le C++ ne gère pas nativement les threads.
Dans le prochain standard, il y aura une lib de threads dans la STL, mais pour l'instant il faut que tu utilises une lib externe telle que boost.thread.
http://www.boost.org/doc/libs/1_36_0...ml/thread.html
Cours : Initiation à CMake
Projet : Scalpel, bibliothèque d'analyse de code source C++ (développement en cours)
Ce message a été tapé avec un clavier en disposition bépo.
Merci pour ta réponse, je suis en train de lir cette documentation.
Est ce la seule solution pour utiliser les threads en c++ ? n'y a t il pas d'autres lib (eventuellement avec doc francais) ?
Les biblio de Boost sont d'excellente qualité, reconnues de tous. Ce serait dommage de s'en passer sous prétexte que la doc est en anglais.
Tu risques de devoir te passer de beaucoup de choses si l'anglais te rebute à ce point…
Autrement, à part les libs de threads intégrées à wxWidgets et Qt (libs d'interfaces graphiques), je n'en connais pas d'autres. Je te laisse le soin de chercher sur le net.
Cours : Initiation à CMake
Projet : Scalpel, bibliothèque d'analyse de code source C++ (développement en cours)
Ce message a été tapé avec un clavier en disposition bépo.
Merci encore,
je voulais just mieux connaitre cette lib, a propos la doc en anglais je m'en debrouillerai![]()
Bonjour
Si tu as du COM/ATL j'en déduis que tu es sur Windows. Donc, tu peux utiliser l'interface windows ou les MFC pour cela. Fais un tour du côté du MSDN. Ensuite, si tu as des questions orientes-toi plutôt vers le forum MFC, tu auras plus de chance de trouver des réponses à tes questions.
Ressources proposées par 3DArchi - Les fonctions virtuelles en C++ - Cours et tutoriels C++ - FAQ C++ - Forum C++.
Note: si ton composant COM qui crée des threads peut être utilisé comme extension du shell, pense à ceci:
http://blogs.msdn.com/oldnewthing/ar...8/8555658.aspx
Et en fait, fais-le même si ce n'est pas une extension du shell. J'ai eu des problèmes dans un prog console car le composant COM de compression Zip ne le fait pas...
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.
Merci pour vos conseils, je vais jeter un coup d'oeuil sur les liens
j'ai appliqué le même code dans l'example de msdn :Tout ca est bien evidemment dans une de mes classes, mais je recois l'erreur de compilation suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 public: UINT WMWatcher(LPVOID pParam) { return 0; } CWMApplication() { LPVOID pParam = NULL; CWinThread* th = AfxBeginThread(WMWatcher, pParam); }
error C3867: 'CWMApplication::WMWatcher': function call missing argument list; use '&CWMApplication::WMWatcher' to create a pointer to member
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.
Merci pour ton aide, voici la modif que j'ai fait et ca se compile maintenant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 public: static UINT WMWatcher(LPVOID pParam) { return 0; } CWMApplication() { LPVOID pParam = NULL; CWinThread* th = AfxBeginThread(WMWatcher, pParam); }
oups
ma methode ne doit pas etre static, car elle utilise des memebres privés !
j'ai pas encore résolu mon probleme même en regardant l'exemple dans la FAQ !![]()
ok cette fois j'ai réussit à résoudre le probleme en suivant les etapes pas a pas de l'exemple dans la FAQ, merci a vous tous
Partager