Announcement

Collapse
No announcement yet.

Global definierte Variablen

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

  • Global definierte Variablen

    Angenommen es gibt eine EXE und diese läd 3 DLLs dynamisch. In jede dieser DLLs ist die gleiche globale Variable definiert. Die Variable wird aber in jeder DLL mit einen anderen Wert gesetzt und anders verarbeitet. Kann ich sicher sein, dass die Variablen gleichen namens sich nicht "beissen"?

  • #2
    Wenn es verschiedene DLLs sind dann hast du kein Problem. Nur beim Adressieren dr Variable musst du aufpassen, damit du auch die richtige DLL erwischst.<br>
    Andersrum kommt es zu Problemen. Wenn mehrere Programme auf eine DLL greifen, dann kommt es darauf an ob die Variable in einem Shared Segment liegt oder nicht. Delphi kann keine Shared Segments einrichten, aber MS VC++

    Comment


    • #3
      Ja Prima. Erst mal beruhigt. Aber warum nicht? Brauche die Variablen zwar nur intern in der DLL, trotzdem befinden sich doch alle im globlen Abschnitt. Werden vielleich für jede Variable andere Adressen vergeben und der Name ist unwichtig

      Comment


      • #4
        Verschiedene DLLs verden an verschiedenen Stellen ins Hauptprogramm geladen (genauer eingeblendet).<br>
        Das Hauptprogramm kann daher jede Variable jeder DLL unterscheiden.<br>
        Aus Sicht der DLL wird alles viel schwieriger. Die DLL kann in mehreren Programmen geladen sein. Gemeinerweise bekommt jedes Programm eine Kopie der DLL. Du solltest mal einen globalen Hook schreiben, damit du siehst was das fuer Auswirkungen haben kann

        Comment

        Working...
        X