Autor Beitrag
mannyk
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 83
Erhaltene Danke: 1



BeitragVerfasst: So 30.10.11 17:26 
Hallo!
Ich habe mal eine Verständnisfrage:
Wenn eine DLL geladen wird, was wird dann zuerst ausgeführt? Ich denke mal jene Objekte, die gerade aufgerufen und gebraucht wurden.

Gibt es eine Möglichkeit irgendein statisches Code-Konstrukt in eine DLL zu implementieren, das automatisch als Erstes ausgeführt wird, wenn die DLL geladen wird. Also ohne dass man im aufrufenden Code explizit das Konstrukt aufrufen muss?

Danke für eure Hilfe!
Lg,
mannyk
pdelvo
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 55
Erhaltene Danke: 11



BeitragVerfasst: So 30.10.11 19:10 
Nein.

Das Einzige was es gibt, was ein wenig in deine Richtung geht sind statische Konstruktoren
mannyk Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 83
Erhaltene Danke: 1



BeitragVerfasst: So 30.10.11 19:46 
Hallo,

danke für deine Antwort.
Ich habe daran auch schon gedacht. Allerdings werden statische Konstrkutoren soweit ich weiß erst dann aufgerufen, wenn die dazugehörige Klasse aufgerufen wird.
Danke tortzdem!
Lg,
mannyk
pdelvo
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 55
Erhaltene Danke: 11



BeitragVerfasst: So 30.10.11 23:07 
Sie werden aufgerufen, wenn die Klasse kompiliert wird. Das passiert, wenn eine Methode aufgerufen wird, in der die Klasse in irgend einer weise benutzt wird, oder wenn eine Klasse kompiliert wird, die eine Variable deiner Klasse enthält.
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4808
Erhaltene Danke: 1061

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Mo 31.10.11 10:23 
Hallo pdelvo,

ersetze mal "kompilieren" durch "benutzen" oder "verwenden" - dann stimmt deine Aussage so einigermaßen (gerade bei einer Klassenbibliothek (DLL) weiß der Compiler ja noch nicht, in welcher Reihenfolge die Klassen und Methoden aufgerufen werden).
pdelvo
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 55
Erhaltene Danke: 11



BeitragVerfasst: Mo 31.10.11 10:58 
Ich rede hierbei nicht vom C# Compiler, sondern vom JIT Compiler während der Laufzeit
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Mo 31.10.11 11:35 
user profile iconpdelvo hat folgendes geschrieben Zum zitierten Posting springen:
Ich rede hierbei nicht vom C# Compiler, sondern vom JIT Compiler während der Laufzeit
Auch dann stimmt es meines Wissens nicht, denn ich kann ein Assemly mit ngen bei einer Installation auch vorkompilieren. Die statischen Konstruktoren werden bei erster Verwendung der Klasse aber trotzdem aufgerufen.

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".