32 Bit Programm in einem 64 Bit Programm unter Linux rufen
-
HAllo zusammen ,
gibt es eine Möglichkeit in C++ unter Linux ein
32 Bit Programm in einem 64 Bit Programm zu rufen ?Danke !
Grüße, Artix
-
Funktionieren die Funktionen
fork
+exec
, bzw.system
denn nicht?
-
Hallo ProgChild ,
ich habe mein Problem etwas abstarkt geschildert.
Mein Problem ist : der 64 Bit Apache nimmt eine 32 Bit C++ dll nicht.Ich darf weder 32 Bit Apache installieren noch 64 Bit C++dll erzeugen.
Wie kann ich sie trotzdem verheiraten ?Danke.
Grüße, Artix
-
artix schrieb:
Hallo ProgChild ,
ich habe mein Problem etwas abstarkt geschildert.
Mein Problem ist : der 64 Bit Apache nimmt eine 32 Bit C++ dll nicht.Ich darf weder 32 Bit Apache installieren noch 64 Bit C++dll erzeugen.
Wie kann ich sie trotzdem verheiraten ?Danke.
Grüße, Artix
Hallo,
ich denke mal, du meinst Shared-Objects, also .so-Dateien. Linux kennt keine DLL-Dateien.
Soweit mit bekannt, kann 32-Bit und 64-Bit Code nicht im gleichen Prozess laufen. Dementsprechend ist es unmöglich, eine 32-Bit .so-Datei in einen 64-Bit Prozess zu laden und dort auszuführen.
Es ist aber durchaus möglich, auf einem System 32- und 64-Bit Anwendungen gleichzeitig laufen zu lassen. Was du tun könntest, wäre deine 32-Bit Datei in eine 32-Bit Anwendung zu laden. Dann erstellst du ein 64-Bit Plugin für Apache, dass z.B. über ein Socket mit der Anwendung kommuniziert, in der die 32-Bit Datei geladen ist.
So funktioniert auch der nspluginwrapper, der es ermöglicht, ein 32-Bit Plugin in ein 64-Bit Build vom Firefox zu laden. Das ist aber viel Arbeit.
-
Hallo ProgChild,
wir entwickeln unter Windows und Linux , daher diese Verwechslung mit dlls.
Ja klar , ich habe eine shared library gemeint .Schade , dass es keine einfachere Lösung gibt.
Danke !!!
Grüße, Artix
-
Hallo ProgChild,
noch etwas.
So wie ich dich verstanden habe , kann ich unter Linux gleichzeitig ,
einen 64 Bit Apache und einen 32 Bit Apache laufen lassen.
Stimmt das ?Danke.
Grüße, Artix
-
Artix schrieb:
So wie ich dich verstanden habe , kann ich unter Linux gleichzeitig ,
einen 64 Bit Apache und einen 32 Bit Apache laufen lassen.
Stimmt das ?Das geht. Du brauchst ein 64-Bit Linux und du musst die 32-Bit Bibliotheken zusätzlich installieren. Bei den meisten Distributionen kannst du das mit ein paar zusätzlichen Paketen tun.
-
Hallo ProgChild,
danke !
Grüße, Artix