Laden...

Von einer 64-Bit Anwendung auf 32-Bit Assembly referenzieren

Erstellt von dennisspohr vor 13 Jahren Letzter Beitrag vor 13 Jahren 1.710 Views
dennisspohr Themenstarter:in
420 Beiträge seit 2007
vor 13 Jahren
Von einer 64-Bit Anwendung auf 32-Bit Assembly referenzieren

Hallo zusammen,

ich habe bei meiner Hauptanwendung als Zielplattform "Any CPU" eingestellt. Diese wird also auf 32Bit-System als 32Bit und auf 64Bit-System als 64Bit ausgeführt.

Meine referenzierte Klassenbibliothek muss leider unter 32 Bit laufen. Diese greift auf meinen installierten Canon RAW Codex zu, welcher leider nur in 32Bit existiert.

Ist es möglich, mit meiner 64Bit-Anwendung auf meine 32Bit-Klassenbibliothek zuzugreifen?

Ich weiß, ich könnte meine Anwendung auch insgesamt auf 32Bit umstellen, würde aber aus verschiedenen Gründen (bsp. Perfomance) gerne bei 64Bit (bzw. Any CPU) bleiben.

Vielen Dank & Grüße
Dennis

Gelöschter Account
vor 13 Jahren

in kurz: nein.
in lang: Dadurch, das die DLL in den Addressraum des Prozesses geladen wird und innerhalb des Prozesses alles (stack & co) mit 64 bit läuft, ist es nicht ohne weiteres möglich eine 32 bit DLL in einen 64 bit Prozess zu laden (z.B. funktioniert dann die Pointerarrithmetik nicht mehr weil die Dll davon ausgeht das der Adressraum immer in 32 Bit Schritten aufgeteilt ist). Du kannst höchstens einen separaten Prozess für die 32 Bit Dll´s erzeugen und dann per IPC auf diese Dll´s zugreifen. Oder aber du lässt das Projekt komplett in 32 Bit laufen.