salut,
tout d'un coup me vient une question,
Comment fait windows pour appeler avec sendmessage() la routine d'un
autre process sans planter a cause de la memoire proteger?
parceque j'aurais besoin de realiser le meme genre de chose, executer
une routine static (dun autre process) declarée a mon prog a lavance,
en comptant la contrainte du temps reel.
salut,
tout d'un coup me vient une question,
Comment fait windows pour appeler avec sendmessage() la routine d'un
autre process sans planter a cause de la memoire proteger?
parceque j'aurais besoin de realiser le meme genre de chose, executer
une routine static (dun autre process) declarée a mon prog a lavance,
en comptant la contrainte du temps reel.
salut,
tout d'un coup me vient une question,
Comment fait windows pour appeler avec sendmessage() la routine d'un
autre process sans planter a cause de la memoire proteger?
parceque j'aurais besoin de realiser le meme genre de chose, executer
une routine static (dun autre process) declarée a mon prog a lavance,
en comptant la contrainte du temps reel.
>C'est quoi la "contrainte temps réel" exactement?
Dans le désordre, on peu utiliser :
- RPC
- COM
- les sockets.
- les pipes (nommés ou pas).
- les memory mapped files.
- une section shared dans une DLL.
- WriteProcessMemory + CreateRemoteThread (pas la méthode la plus
recommandée, mais bon...)
- les User APC
- les messages Windows (!)
- sans doute d'autres que j'oublie...
>C'est quoi la "contrainte temps réel" exactement?
Dans le désordre, on peu utiliser :
- RPC
- COM
- les sockets.
- les pipes (nommés ou pas).
- les memory mapped files.
- une section shared dans une DLL.
- WriteProcessMemory + CreateRemoteThread (pas la méthode la plus
recommandée, mais bon...)
- les User APC
- les messages Windows (!)
- sans doute d'autres que j'oublie...
>C'est quoi la "contrainte temps réel" exactement?
Dans le désordre, on peu utiliser :
- RPC
- COM
- les sockets.
- les pipes (nommés ou pas).
- les memory mapped files.
- une section shared dans une DLL.
- WriteProcessMemory + CreateRemoteThread (pas la méthode la plus
recommandée, mais bon...)
- les User APC
- les messages Windows (!)
- sans doute d'autres que j'oublie...
C'est quoi la "contrainte temps réel" exactement?
un affichage ou la vitesse compte (la 3d quoi)Dans le désordre, on peu utiliser :
- RPC
vé me documenter- COM
trop lent
- les sockets.
pas adapté
- les pipes (nommés ou pas).
pas bon
- les memory mapped files.
jai peur que ce soit trop lent
par contre avec tout ca , ya un truc qui me chiffone, ces methodes c
bien pour partager de la memoire pour des donnees, ou dire a un
process lambda de faire une action, mais moi je veux carrement que le
process A fasse lequivalent dun jmp sur la fonction du process X ou
lequivalent,
mon gros soucis, est que jai besoin dexecuter une
fonction dun processus par le processus X pour pouvoir synchoniser
mon affichage a certain moment.et pouvoir acceder a la memoire video
de lapplication serveur (voir mon pb sur WM_SYNCPAINT, pour mieux
comprendre)
C'est quoi la "contrainte temps réel" exactement?
un affichage ou la vitesse compte (la 3d quoi)
Dans le désordre, on peu utiliser :
- RPC
vé me documenter
- COM
trop lent
- les sockets.
pas adapté
- les pipes (nommés ou pas).
pas bon
- les memory mapped files.
jai peur que ce soit trop lent
par contre avec tout ca , ya un truc qui me chiffone, ces methodes c
bien pour partager de la memoire pour des donnees, ou dire a un
process lambda de faire une action, mais moi je veux carrement que le
process A fasse lequivalent dun jmp sur la fonction du process X ou
lequivalent,
mon gros soucis, est que jai besoin dexecuter une
fonction dun processus par le processus X pour pouvoir synchoniser
mon affichage a certain moment.et pouvoir acceder a la memoire video
de lapplication serveur (voir mon pb sur WM_SYNCPAINT, pour mieux
comprendre)
C'est quoi la "contrainte temps réel" exactement?
un affichage ou la vitesse compte (la 3d quoi)Dans le désordre, on peu utiliser :
- RPC
vé me documenter- COM
trop lent
- les sockets.
pas adapté
- les pipes (nommés ou pas).
pas bon
- les memory mapped files.
jai peur que ce soit trop lent
par contre avec tout ca , ya un truc qui me chiffone, ces methodes c
bien pour partager de la memoire pour des donnees, ou dire a un
process lambda de faire une action, mais moi je veux carrement que le
process A fasse lequivalent dun jmp sur la fonction du process X ou
lequivalent,
mon gros soucis, est que jai besoin dexecuter une
fonction dun processus par le processus X pour pouvoir synchoniser
mon affichage a certain moment.et pouvoir acceder a la memoire video
de lapplication serveur (voir mon pb sur WM_SYNCPAINT, pour mieux
comprendre)
tout d'un coup me vient une question,
Comment fait windows pour appeler avec sendmessage() la routine d'un
autre process sans planter a cause de la memoire proteger?
parceque j'aurais besoin de realiser le meme genre de chose, executer
une routine static (dun autre process) declarée a mon prog a lavance,
en comptant la contrainte du temps reel.
question bete, mais je le vois pas se greffer a chaque process, ca
ferait tache :-p
tout d'un coup me vient une question,
Comment fait windows pour appeler avec sendmessage() la routine d'un
autre process sans planter a cause de la memoire proteger?
parceque j'aurais besoin de realiser le meme genre de chose, executer
une routine static (dun autre process) declarée a mon prog a lavance,
en comptant la contrainte du temps reel.
question bete, mais je le vois pas se greffer a chaque process, ca
ferait tache :-p
tout d'un coup me vient une question,
Comment fait windows pour appeler avec sendmessage() la routine d'un
autre process sans planter a cause de la memoire proteger?
parceque j'aurais besoin de realiser le meme genre de chose, executer
une routine static (dun autre process) declarée a mon prog a lavance,
en comptant la contrainte du temps reel.
question bete, mais je le vois pas se greffer a chaque process, ca
ferait tache :-p
C'est quoi la "contrainte temps réel" exactement?
un affichage ou la vitesse compte (la 3d quoi)
- RPC
vé me documenter- COM
trop lent
- les sockets.
pas adapté- les pipes (nommés ou pas).
pas bon
- les memory mapped files.
jai peur que ce soit trop lent- les messages Windows (!)
pas bon dans mon cas
- sans doute d'autres que j'oublie...
c'est deja ca, je vais voir
C'est quoi la "contrainte temps réel" exactement?
un affichage ou la vitesse compte (la 3d quoi)
- RPC
vé me documenter
- COM
trop lent
- les sockets.
pas adapté
- les pipes (nommés ou pas).
pas bon
- les memory mapped files.
jai peur que ce soit trop lent
- les messages Windows (!)
pas bon dans mon cas
- sans doute d'autres que j'oublie...
c'est deja ca, je vais voir
C'est quoi la "contrainte temps réel" exactement?
un affichage ou la vitesse compte (la 3d quoi)
- RPC
vé me documenter- COM
trop lent
- les sockets.
pas adapté- les pipes (nommés ou pas).
pas bon
- les memory mapped files.
jai peur que ce soit trop lent- les messages Windows (!)
pas bon dans mon cas
- sans doute d'autres que j'oublie...
c'est deja ca, je vais voir
> >> - COM
> trop lent
Tu as testé?
>> - les sockets.
> pas adapté
Pourquoi?
>> - les memory mapped files.
> jai peur que ce soit trop lent
Dans ce cas t'es mal barré, parce que c'est la méthode la plus rapide
disponible....
Tu as regardé les sources de VNC? Ca marche très bien avec une liaison
socket...
> >> - COM
> trop lent
Tu as testé?
>> - les sockets.
> pas adapté
Pourquoi?
>> - les memory mapped files.
> jai peur que ce soit trop lent
Dans ce cas t'es mal barré, parce que c'est la méthode la plus rapide
disponible....
Tu as regardé les sources de VNC? Ca marche très bien avec une liaison
socket...
> >> - COM
> trop lent
Tu as testé?
>> - les sockets.
> pas adapté
Pourquoi?
>> - les memory mapped files.
> jai peur que ce soit trop lent
Dans ce cas t'es mal barré, parce que c'est la méthode la plus rapide
disponible....
Tu as regardé les sources de VNC? Ca marche très bien avec une liaison
socket...
> Les deux processus ne peuvent pas partager grand chose car ils s'exécutent
des espaces d'adressage séparés. Donc il y aura obligatoirement un surcoût
rapport à un appel direct. Mais si ça se trouve il est négligeable.
Alors le mieux c'est d'aller au plus simple dans un premier temps, et
d'optimiser si ça ne donne pas de bons résultats ensuite. Comme on dit,
*Premature optimization is the root of all evil*.
>> - RPC
> vé me documenter
>> - COM
> trop lent
Ce sont deux méthodes qui valent le coup d'essayer. Elles ont l'avantage
simples, documentées, et d'être orientées "invocation".
>> - les sockets.
> pas adapté
>> - les pipes (nommés ou pas).
> pas bon
Ça reste de loin le plus simple à mettre en place AMHA. Je ne vois pas de
raison de les rejeter.
>> - les memory mapped files.
> jai peur que ce soit trop lent
>> - les messages Windows (!)
> pas bon dans mon cas
Non, les mmap c'est très rapide par contre c'est un peu la galère à gérer.
Explique pourquoi tu rejettes toutes ces méthodes si tu veux de meilleurs
conseils.
> Les deux processus ne peuvent pas partager grand chose car ils s'exécutent
des espaces d'adressage séparés. Donc il y aura obligatoirement un surcoût
rapport à un appel direct. Mais si ça se trouve il est négligeable.
Alors le mieux c'est d'aller au plus simple dans un premier temps, et
d'optimiser si ça ne donne pas de bons résultats ensuite. Comme on dit,
*Premature optimization is the root of all evil*.
>> - RPC
> vé me documenter
>> - COM
> trop lent
Ce sont deux méthodes qui valent le coup d'essayer. Elles ont l'avantage
simples, documentées, et d'être orientées "invocation".
>> - les sockets.
> pas adapté
>> - les pipes (nommés ou pas).
> pas bon
Ça reste de loin le plus simple à mettre en place AMHA. Je ne vois pas de
raison de les rejeter.
>> - les memory mapped files.
> jai peur que ce soit trop lent
>> - les messages Windows (!)
> pas bon dans mon cas
Non, les mmap c'est très rapide par contre c'est un peu la galère à gérer.
Explique pourquoi tu rejettes toutes ces méthodes si tu veux de meilleurs
conseils.
> Les deux processus ne peuvent pas partager grand chose car ils s'exécutent
des espaces d'adressage séparés. Donc il y aura obligatoirement un surcoût
rapport à un appel direct. Mais si ça se trouve il est négligeable.
Alors le mieux c'est d'aller au plus simple dans un premier temps, et
d'optimiser si ça ne donne pas de bons résultats ensuite. Comme on dit,
*Premature optimization is the root of all evil*.
>> - RPC
> vé me documenter
>> - COM
> trop lent
Ce sont deux méthodes qui valent le coup d'essayer. Elles ont l'avantage
simples, documentées, et d'être orientées "invocation".
>> - les sockets.
> pas adapté
>> - les pipes (nommés ou pas).
> pas bon
Ça reste de loin le plus simple à mettre en place AMHA. Je ne vois pas de
raison de les rejeter.
>> - les memory mapped files.
> jai peur que ce soit trop lent
>> - les messages Windows (!)
> pas bon dans mon cas
Non, les mmap c'est très rapide par contre c'est un peu la galère à gérer.
Explique pourquoi tu rejettes toutes ces méthodes si tu veux de meilleurs
conseils.
merci,
je viens d'apprendre par un pote que linux passe par les IPC pour la
com, ca me donnera un element de plus pour m'aider a me decider.
Pour ce qui est des messages, jai deja commencé des testes de mes
propres queues de messages mais juste inter thread donc pas encore de
memoire partagé, parceque je n'ouvre pas de fenetre windows (donc
aucune queue de créees dapres microsoft, ce qui est debile parceque
WM_QUIT n'est pas vraiment lié a une fenetre)
enfin bref, jai un milliard de chose a voir. jy retourne.
merci,
je viens d'apprendre par un pote que linux passe par les IPC pour la
com, ca me donnera un element de plus pour m'aider a me decider.
Pour ce qui est des messages, jai deja commencé des testes de mes
propres queues de messages mais juste inter thread donc pas encore de
memoire partagé, parceque je n'ouvre pas de fenetre windows (donc
aucune queue de créees dapres microsoft, ce qui est debile parceque
WM_QUIT n'est pas vraiment lié a une fenetre)
enfin bref, jai un milliard de chose a voir. jy retourne.
merci,
je viens d'apprendre par un pote que linux passe par les IPC pour la
com, ca me donnera un element de plus pour m'aider a me decider.
Pour ce qui est des messages, jai deja commencé des testes de mes
propres queues de messages mais juste inter thread donc pas encore de
memoire partagé, parceque je n'ouvre pas de fenetre windows (donc
aucune queue de créees dapres microsoft, ce qui est debile parceque
WM_QUIT n'est pas vraiment lié a une fenetre)
enfin bref, jai un milliard de chose a voir. jy retourne.
> Par contre je vous suggère d'abandonner la queue de messages pour ça parce
qu'elle introduit une facilité d'attente à laquelle vous devrez renoncer
la suite. Voyez plutôt WaitForSingleObject(), CreateMutex() et
CreateEvent()... Avec ça vous avez tout mais je ne vais pas vous le coder,
ça vous gâcherait tout le plaisir ;-)
> Par contre je vous suggère d'abandonner la queue de messages pour ça parce
qu'elle introduit une facilité d'attente à laquelle vous devrez renoncer
la suite. Voyez plutôt WaitForSingleObject(), CreateMutex() et
CreateEvent()... Avec ça vous avez tout mais je ne vais pas vous le coder,
ça vous gâcherait tout le plaisir ;-)
> Par contre je vous suggère d'abandonner la queue de messages pour ça parce
qu'elle introduit une facilité d'attente à laquelle vous devrez renoncer
la suite. Voyez plutôt WaitForSingleObject(), CreateMutex() et
CreateEvent()... Avec ça vous avez tout mais je ne vais pas vous le coder,
ça vous gâcherait tout le plaisir ;-)