可以在Linux上使用.dll

问题:是否可以使用.dll文件在Linux上编译程序?

这是怎么回事:这个.dll将被用来写第三方的一些专有软件的PHP扩展。

背景和研究:

我有一个名为proprietary.lib的库。 我很好奇,因为我从来没有见过.lib扩展名,所以我input:

 file proprietary.lib 

输出是:

 proprietary.lib: current ar archive 

我做了一些研究,发现ar是或多或less的tar (事实上​​,我猜tar已经在大多数* nix环境中取代了ar )。

在检查ar页时,我看到了t option ,它显示了该存档内容的表格列表。 凉。 所以我input:

 ar t proprietary.lib 

并得到:

 proprietary.dll proprietary.dll ... (snip X lines) ... 

您可以尝试解压ar文件(Debian软件包是ar文件,fwiw)并在内容上运行file

你不能没有翻译就可以使用Windows DLL。 我知道在Linux上本地工作的唯一DLL文件是用Mono编译的。

如果有人给你一个专有的二进制库来编码,你应该验证它是为目标架构编译的(就像在x86系统上试图使用ARM二进制文件一样),而且它是为Linux编译的。

这是说…祝你好运。 我恨编程对抗我有文档来源的第三方库。

.dll文件通常是Windows共享库。 (也有可能Linux上的某个人建立了一个普通的Linux库,并由于某种原因将其命名为.dll)。

有可能你可以用Wine来和他们联系。 对此的支持曾经是实验性的 – 我不知道它的现状。