Announcement

Collapse
No announcement yet.

Welches Headerflag damit DLL shared wird? - Interprozesscommunicaion

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Welches Headerflag damit DLL shared wird? - Interprozesscommunicaion

    Hallo,

    ich schreibe DLL's mit eigenen Funktionen, um komerzielle Simulationssoftware um benutzerdefinierte Funktionen zu erweitern.

    Darin werden u.a. auch Daten abgelegt, d.h. eine dieser Zusatzfunktionen ist eine Schreib- und eine Lesefunktion. Ich möchte nun diese DLL auch von anderen Programmen aus laden, die dann auf dieselben Daten zugreifen können (z.B. den aktuellen Fortschritt der Simulation).

    Ich möchte, das die DLL nur EINMAL geladen wird und allen Programmen zur Verfügung steht. Bisher hat jedes Programm seine eigene DLL geladen und die Speicherbereiche sind getrennt.

    Wikipedia sagt unter "DLL": "...statische DLL. Diese DLL hat dann nur einen globalen Speicherbereich. [...] Ob eine DLL statisch oder nicht ist legt ein weiteres Flag im Header der DLL fest."

    - Wie lautet dieses Flag?
    - Wo muss ich es setzen?
    - Ich programmiere meist in C++ (hierfür Open Watcom, sollte aber allgemein sein)

    Gruß
    Christian

  • #2
    M.E. ist die Wikipediainformation falsch bzw. veraltet.

    Ab XP hat jede DLL bei jedem Aufruf ihren eigenen Speicherbreich. Um Variablen DLL-übergreifend zur Verfügung zu stellen ist SharedMemory zu verwenden...jedenfall habe ich das so gelöst.
    Christian

    Comment

    Working...
    X