2 Stimmen

Automatisches DLL-Laden in C++ abschalten

Mein Szenario ist wie folgt: meine Anwendung hängt von einer bestimmten DLL (ich verwende es ist lib während Verknüpfung). Jedoch, wenn meine Anwendung ausgeführt wird, möchte ich explizit diese DLL mit LoadLibrary laden. Wenn der Code jedoch einen Bereich erreicht, in dem diese DLL benötigt wird, sucht die Umgebung standardmäßig automatisch nach ihr und lädt sie dann. Ich möchte dieses Verhalten deaktivieren, und wenn die Anwendung einen Punkt erreicht, an dem sie Code ausführen möchte, der zu dieser DLL gehört, ziehe ich es vor, dass sie abstürzt, anstatt sie automatisch zu laden (die DLL wird also nur geladen, weil ich LoadLibrary explizit aufgerufen habe).
In der Zwischenzeit verwende ich die Delay-Load-Fähigkeit (so dass der Load-Trigger nur dann erfolgt, wenn die DLL tatsächlich geladen werden muss). Ich würde es jedoch vorziehen, dass die Anwendung einfach abstürzt, wenn die DLL noch nicht geladen wurde.

Vielleicht kennt jemand von Ihnen eine Möglichkeit, dies zu erreichen?

0voto

queen3 Punkte 15143

Ist es das, was Sie brauchen: http://msdn.microsoft.com/en-us/library/151kt790(VS.80).aspx ?

Ich meine, Sie können Ihre eigene Funktion zum Laden der DLL bereitstellen und Ihre Anwendung von dort aus zum Absturz bringen. Es ist detailliert in den Link zur Verfügung gestellt.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X