GNU/Linux >> Linux Esercitazione >  >> Linux

Utilizzando Windows DLL da Linux

Qualsiasi soluzione avrà bisogno di un livello "remoto" basato su TCP/IP tra la DLL che è in esecuzione in un ambiente "simile a Windows" e la tua app Linux.

Dovrai scrivere una semplice app per PC per esporre le funzioni DLL, utilizzando un protocollo homebrew o forse i protocolli XML-RPC, SOAP o JSON. L'SDK RemObjects potrebbe aiutarti, ma potrebbe essere eccessivo.

Rimarrei con un PC "reale" o virtualizzato. Se usi Wine, è improbabile che gli sviluppatori DLL offrano alcun supporto.

È anche improbabile che MONO sia di alcun aiuto, perché la tua DLL probabilmente NON è un assembly .NET.


Ho scritto un piccolo modulo Python per chiamare le DLL di Windows da Python su Linux. Si basa su IPC tra un normale processo Python Linux/Unix e un processo Python basato su Wine. Poiché ne ho avuto bisogno in troppi casi d'uso / scenari diversi, l'ho progettato come un ctypes "generico" sostituzione immediata del modulo, che esegue automaticamente in background la maggior parte dell'impianto idraulico richiesto.

Esempio:supponi di essere in Python su Linux, hai installato Wine e vuoi chiamare msvcrt.dll (la libreria di runtime di Microsoft C). Puoi fare quanto segue:

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))

Codice sorgente (LGPL), pacchetto PyPI e documentazione.

È ancora un po' approssimativo (vale a dire alfa e insicuro), ma gestisce la maggior parte dei tipi di parametri (inclusi i puntatori).


Linux
  1. Connettiti a Linux da Windows usando PuTTY

  2. Come monitorare la macchina Windows remota usando Nagios su Linux

  3. Avvia i programmi di installazione del software su Linux da Windows utilizzando Cygwin

  4. Usando putty per scp da Windows a Linux

  5. Utilizzo del sottosistema Windows per Linux (WSL) da Sublime Text

Ottieni podman attivo e funzionante su Windows usando Linux

11 motivi per migrare dal desktop di Windows al desktop di Linux

Come montare Windows Share su Linux usando CIFS

6 funzionalità che Windows 10 ha preso da Linux

Passaggio da Windows a Linux

Come accedere alle partizioni Linux da Windows 10