GNU/Linux >> Tutoriels Linux >  >> Linux

Utiliser la DLL Windows à partir de Linux

Toute solution nécessitera une couche "remoting" basée sur TCP/IP entre la DLL qui s'exécute dans un environnement "de type Windows" et votre application Linux.

Vous devrez écrire une application PC simple pour exposer les fonctions DLL, soit en utilisant un protocole homebrew, soit des protocoles XML-RPC, SOAP ou JSON. Le SDK RemObjects pourrait vous aider - mais pourrait être exagéré.

Je m'en tiendrai à un PC "réel" ou virtualisé. Si vous utilisez Wine, il est peu probable que les développeurs de DLL offrent une assistance.

Il est également peu probable que MONO soit utile, car votre DLL n'est probablement PAS un assemblage .NET.


J'ai écrit un petit module Python pour appeler des DLL Windows à partir de Python sous Linux. Il est basé sur IPC entre un processus Linux/Unix Python classique et un processus Python basé sur Wine. Parce que j'en ai moi-même eu besoin dans trop de cas d'utilisation / scénarios différents, je l'ai conçu comme un ctypes "générique" remplacement direct du module, qui effectue automatiquement la plupart des travaux de plomberie requis en arrière-plan.

Exemple :Supposons que vous êtes en Python sous Linux, que Wine est installé et que vous souhaitez appeler msvcrt.dll (la bibliothèque d'exécution Microsoft C). Vous pouvez effectuer les actions suivantes :

from zugbruecke import ctypes
dll_pow = ctypes.cdll.msvcrt.pow
dll_pow.argtypes = (ctypes.c_double, ctypes.c_double)
dll_pow.restype = ctypes.c_double
print('You should expect "1024.0" to show up here: "%.1f".' % dll_pow(2.0, 10.0))

Code source (LGPL), package PyPI et documentation.

Il est encore un peu approximatif sur les bords (c'est-à-dire alpha et non sécurisé), mais il gère la plupart des types de paramètres (y compris les pointeurs).


Linux
  1. Connectez-vous à Linux à partir de Windows en utilisant PuTTY

  2. Comment surveiller une machine Windows distante à l'aide de Nagios sous Linux

  3. Lancer des programmes d'installation de logiciels sur Linux à partir de Windows à l'aide de Cygwin

  4. Arrêter la machine Windows à partir du terminal Linux

  5. Utiliser du mastic pour scp de Windows à Linux

Obtenez podman opérationnel sur Windows en utilisant Linux

11 raisons de migrer du bureau Windows vers le bureau Linux

Comment monter le partage Windows sur Linux à l'aide de CIFS

6 fonctionnalités que Windows 10 a tirées de Linux

Passer de Windows à Linux

Comment accéder aux partitions Linux à partir de Windows 10