programme bloqué quand j'utilise beep() (faire bipper le hp interne)

programme bloqué quand j'utilise beep() (faire bipper le hp interne) - C++ - Programmation

Marsh Posté le 19-08-2006 à 15:19:37    

bonjour
 
je voudrais savoir s'il existe un moyen de faire en sorte que mon programme soit bloqué quand j'utilise la fonction beep().
si je mets par exemple beep(150,1000), ça va faire un bip de 150hz pendant 1 seconde, mais pendant cette seconde mon appli se freeze, ensuite elle redevient normalement une fois le bip terminé...
est-ce que vous conaissez une solution pour que ça fasse pas d'interruption a mon programme ? (quitte a inclure un bout de code assembleur ^^)

Reply

Marsh Posté le 19-08-2006 à 15:19:37   

Reply

Marsh Posté le 19-08-2006 à 15:48:21    

Je crois (et je dis bien "je crois" ) que c'est impossible à moins de créer un autre thread :) (ou d'utiliser une librairie qui le fait pour toi)
Pour créer un thread facilement, cf les librairies faites pour ca :)

Reply

Marsh Posté le 19-08-2006 à 16:15:23    

c'est bizarre j'ai recherché et y'a pas grand chose sur les threads sur google !
c'est pas faisable simplement avec 1 ou 2 commandes ?

Reply

Marsh Posté le 19-08-2006 à 23:39:12    

telecharges la sdl, on peut créer facilement des threads avec... et ya la doc fournie dedans !
Et sur google, cherches "multithreading" et non pas "threads"
Si tu sais pas ce que c'est, un thread est tout simplement un processus d'execution du code... tu peux créer d'autres threads pour créer des executions parrallèles de plusieurs codes differents ! (mais attention aux ressources ! deux threads ne doivent pas acceder en meme temps à la meme variable ! les mutex, semaphores et autres existent pour proteger tout ca...)
Pour ton code, il suffira de créer un thread qui joue 1 seconde de bip puis quitte, alors que ton thread principal execute tranquilou son code :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed