Linux系统上的Windows DLL

Lob*_*obo 7 c++ java linux windows dll

我想知道你是否可以在Linux操作系统的应用程序(使用任何编程语言)中加载 Windows操作系统的DLL(例如,user32.dll).

DLL将位于Linux文件系统上的目录中.

谢谢您的帮助.

问候!

Mar*_*rkR 9

是的,您可以通过使用适当的包装器库来加载DLL并调用其函数,但如果DLL本身具有不存在的平台依赖性,那么这基本上是无用的.这种方法用于闭源视频编解码器之类的东西,其中不存在(非平凡的)依赖性.

User32.dll当然是操作系统的一部分,并且与许多NT内核函数有内在联系,Linux中没有这些函数.Wine不使用Windows user32.dll,但提供了自己的版本,它提供了相同的功能.

加载Windows'user32.dll肯定没用,因为它主要是其他DLL,进程(例如CSRSS)和Linux下不存在的内核调用的包装器.你可以加载和使用Wine的.


Bri*_*new 8

不,架构根本不同.

我注意到你的问题被标记为C++.如果它是.net DLL(使用CLR字节码构建),那么您可以通过在Mono下运行的应用程序引用它.


Kei*_*ith 7

如果你为它编写一个包装器,这是可能的.这就是win32编解码器在Linux上的工作方式.此外葡萄酒使用了很多的DLL.