bonjour,
savez-vous quelle est la fonction sous windows qui permet d'executer un processus.
en C sous linux : exec, en C sous windows ???
merci
Version imprimable
bonjour,
savez-vous quelle est la fonction sous windows qui permet d'executer un processus.
en C sous linux : exec, en C sous windows ???
merci
ShellExecute(), ShellExecuteEx() ou CreateProcess().
Citation:
Envoyé par youp_db
La seule qui manque est celle qui est standard :triste: systemCitation:
Envoyé par rigobert
voui :aie:Citation:
Envoyé par gege2061
Faux, system() est supporté (pas directement pas l'API Win32, mais par la C Run-Time Library).
D'ailleurs, exec() est supporté aussi (mais pas fork(), bien que le kernel en soit capable). Et si vous êtes nostalgiques de DOS, vous pouvez aussi utiliser spawn().
Pour faire un serveur, quelle fonction faut-il utiliser à la place de fork() pour créer des processus fils svp ?Citation:
Envoyé par Médinoc
merci
Ben, personne n'a dit le contraire me semble-t-il.Citation:
Envoyé par Médinoc
Sous Windows, on utilise les threads...Citation:
Envoyé par youp_db
gl : J'avais mal interprété la réponse de gege2061.
Sous Windows, il est vrai qu'on a tendance à utiliser une application multithread au lieu de forker, mais uniquement dans le cas d'un fork() simple.
Pour le fork()+exec(), on utilise les fonctions de lancement de processus : Typiquement CreateProcess() et ShellExecute[Ex]().
La différence entre fork et CreateProcess réside dans le fait qu'il n'y a pas de duplication des données dans le processus fils crée avec CreateProcess par rapport à fork et surement encore plein d'autres détails
Quel rapport avec le sujet ? :aie:
Le rapport ? On nous demande comment exécuter un processus sous Windows, on donne donc les différentes possibilités par rapport aux fonctions disponibles sous unixoïde...
- fork() --> pas d'équivalent direct, le multithreading étant une alternative intéressante.
- exec() --> supporté.
- fork()+exec() : CreateProcess().
- system() --> supporté.
Je comprendrais jamais cette logique on fait une demande pour windows on nous réponds pour unix :aie:Citation:
Envoyé par Médinoc
Ben quoi ? Le gars nous dit "je sais faire sous unixoïde, comment on fait sous Windows ?"
Comme il y a plusieurs façons de chaque coté, c'est plus facile pour lui de comprendre avec une table de correspondance...
Tu ne serais pas en train de troller par hasard ? Car là, je ne comprends pas en quoi c'est supposé être illogique...
On lui dit "ce que tu fais sous linux comme ça, sous Windows on peut le faire comme ça". C'est bien la réponse à sa question, non ?
Je suis d'accord avec çà.Citation:
Envoyé par Médinoc
Je ne veux pas troller,loin de moi cette idée sur le forum C, mais tu es d'accord qu'on s'appuie sur des exemples C++ pour expliquer comment on fait du C ? Remplacez C++ par unix et C par Windows.Enfin c'est comme cela que je le vois...Citation:
Envoyé par Emmanuel Delahaye
On s'appuie sur des équivalents C++ pour expliquer comment on fait du C à un vétéran du C++.
Exemple: Les streams---> Fonctions de stdio.h
Je ne vois pas le rapport avec le C++. Il s'agissait de comparer un mécanisme windows nouveau avec un mécanisme unix connu.Citation:
Envoyé par hegros
A part que ni l'un ni l'autre ne concernent le C, çaÿ mal ?