.dll als Interface?????????
-
Hallo,
ich habe eine generelle Frage zu einer DLL.
Kann ich eine DLL als Interface zwischen zwei laufenden Programmen benutzten?
Geht es das beide Programme gleichzeitig auf die DLL zugreifem und aus verschieden Funktionen lesen, bzw. in sie hineinschreiben?
Beispiel:
Ich habe zwei Programme:
Prog1
Prog2und zwei Funktionen die sich in der DLL befinden:
funk1
funk2Scenario:
Prog1 schreibt einen Wert in funk1. Prog2 ließt aus funk1 und berechnet irgendwas, schreibt die Antwort dann in funk2.
Daraufhin ließt Prog1 aus funk2.-> Ist so etwas in der Art möglich?
-> Kann man eine DLL als Schnittstelle zwischen zwei Programmen benutzten?
-> Wie könnte man so etwas realisieren?
-> Geht das vielleicht mir "fork" und "sleep" (ich bin mir nicht ganz sicher ob ich dies zwei Begriffe schon einmal in diesem Zusammenhang gehört habe)
Wenn das nicht geht, wie könnte man so etwas ohne DLL machen?
-
Wenn du gut synchronisierst und shared Sections für die Variablen verwendest könnte das funktionieren.
Sockets sollten imo aber sinnvoller seinGreetz
-
Manuel schrieb:
.
Sockets sollten imo aber sinnvoller seinGreetz
Was heißt das????????
was sind "Sockets" und was ist "imo" ????????ß
imo = immer?????????ßß
-
Für die verschiedenen Arten der Inter-Prozess-Kommunikatin siehe:
http://msdn.microsoft.com/library/en-us/ipc/base/interprocess_communications.aspDas schnellste ist Shared-Memory (bzw. Memory-Mapped-Files).
Bei einer DLL kannst Du bestimmten Datenbreiche "shared" machen, was der gleiche Effekt ist wie Memory-Mapped-Files.
-
IMO = in my opinion - meiner Meinung nach
.. und die Erklärungen der einzelnen Mechanismen kannst du der Seite von Jochen entnehmen

Greetz
-
Manuel schrieb:
IMO = in my opinion - meiner Meinung nach
Bescheidene Menschen sagen: IMHO

-
ok danke,...ich werde es mir einmal durchlesen
-
Jochen Kalmbach schrieb:
Manuel schrieb:
IMO = in my opinion - meiner Meinung nach
Bescheidene Menschen sagen: IMHO

Bescheidene Menschen ... Wer sagt, dass ich zu denen gehöre?

Nee. Du hast Recht (wie (leider ;)) viel zu oft ^^). Bin aber meist zu faul den Buchstaben zu schreiben.
Greetz

-
HEY!!!!!!!!
Zurück zu dem THEMA,.........ich schlage for IHR richtet ein Thread zum Thema "IMO" ein.
Hier aber sollte es um eine DLL gehen!!!!!!!!

-
Was für Fragen sind denn noch offen?
-
die werden schon noch kommen

schließlich muss ich mich erst einmal durch alles durcharbeiten. Aber jetzt werde ich ein bierchen trinken gehen

aaaaaaaaah apopo Frage,.........was hat es mit fork und sleep auf sich? Was ist das?
-
gramboler schrieb:
was hat es mit fork und sleep auf sich?
fork gibt es nur bei diversen *nixen, nicht aber bei Windows (damals kannten die noch keine Threads und haben IMHO etwas rumgepfuscht).
sleep wartet einfach die angegebene Zeit.
-
Jochen Kalmbach schrieb:
Das schnellste ist Shared-Memory (bzw. Memory-Mapped-Files).
Bei einer DLL kannst Du bestimmten Datenbreiche "shared" machen, was der gleiche Effekt ist wie Memory-Mapped-Files.Um Himmels Willen! Shared Memory ist das personifizierte Böse, da es sich nicht über eine ACL schützen lässt. Das kannst Du doch mit File Mapping nicht vergleichen.
Wer Shared Memory benutzt, macht sich auch die Hose mit der Kneifzange zu!
-
Jochen Kalmbach schrieb:
Bescheidene Menschen sagen: IMHO

Das machen allenfalls Menschen mit Komplexen. Entweder habe ich eine Meinung oder ich habe sie nicht, Bescheidenheit hat da absolut nichts zu suchen. IMO.
-
Gästchen schrieb:
Um Himmels Willen! Shared Memory ist das personifizierte Böse, da es sich nicht über eine ACL schützen lässt. Das kannst Du doch mit File Mapping nicht vergleichen.
Was ist denn der Unterschied zwischen "Shared Memory" und "Memory Mapped Files"?
-
Jochen Kalmbach schrieb:
Was ist denn der Unterschied zwischen "Shared Memory" und "Memory Mapped Files"?
Du willst mich verscheissern, gell? Außerdem habe ich den schlimmsten Unterschied zwischen #pragma data_seg und dem echten Kernel Objekt bereits herausgestellt: Letzteres lässt sich mit einer ACL schützen.
Und jetzt zeigst Du mir bitte, wie Du verhinderst, daß auf ein #pragma data_seg absolut jeder uneingeschränkten Zugriff bekommt.
Und ja, es ist mir bekannt, daß das #pragma allein nicht reicht und das ich dem Linker noch weitere Anweisung zu geben habe.
-
Vielleicht haben wir auch nur aneinander verbeigeredet... bzw. ich habe mich nicht eindeutig ausgedrückt...
Ich empfehle prinzipiell für schnelle Dinge immer Memory-Mapped-Files (welches in der Doku auch "Shared memmory" genannt wird, siehe
http://msdn.microsoft.com/library/en-us/fileio/fs/creating_named_shared_memory.asp
)
Das #pragma... hab ich nur noch so erwähnt... will ich aber nicht empfehlen
-
Jochen Kalmbach schrieb:
Das #pragma... hab ich nur noch so erwähnt... will ich aber nicht empfehlen

Dann bin ich beruhigt. Denn nachdem Du "Bei einer DLL kannst Du bestimmten Datenbreiche "shared" machen, was der gleiche Effekt ist wie Memory-Mapped-Files." schrubst, bin ich beinahe umgefallen. Das ist nämlich nicht der gleiche Effekt.
Aber wie gesagt, ich habe mich ja wieder beruhigt.
