问题:是否可以使用.dll文件在linux上编译程序?
这是怎么回事: 这个.dll将用于编写来自第三方的某些专有软件的php扩展.
背景与研究:
我得到了一个名为的图书馆proprietary.lib
.我很好奇,因为我之前从未见过.lib
扩展,所以我打字:
file proprietary.lib
输出是:
proprietary.lib: current ar archive
我做了一些研究,发现它ar
或多或少tar
(事实上,我认为tar
已经ar
在大多数*nix环境中被替换).
在检查该ar
联机帮助页时,我看到了该页面t option
,其中显示了该存档内容的表格列表.凉.所以我键入:
ar t proprietary.lib
得到:
proprietary.dll proprietary.dll ... (snip X lines) ...
Ber.. 10
最近的开发可能改变了这种情况:Linux 有一个loadlibrary函数,可以加载Windows DLL,然后调用其中的函数.
因此,如果.dll
您实际拥有的文件是Windows DLL,您可能会找到在软件中使用它的方法.
最近的开发可能改变了这种情况:Linux 有一个loadlibrary函数,可以加载Windows DLL,然后调用其中的函数.
因此,如果.dll
您实际拥有的文件是Windows DLL,您可能会找到在软件中使用它的方法.
.dll文件通常是Windows共享库.(也有可能Linux上的某个人已经建立了一个普通的Linux库并且出于某种原因称它为.dll.)
您可以使用Wine链接它们.对此的支持曾经作为实验支持 - 我不知道它的当前状态.
您可以尝试解压缩ar
文件(Debian包是ar
文件,fwiw)并运行file
内容.
如果没有翻译,您将无法使用Windows DLL.我所知道的唯一在Linux上本机工作的DLL文件是用Mono编译的.
如果有人给你一个专有的二进制库来编码,你应该验证它是为目标架构编译的(就像在x86系统上尝试使用ARM二进制文件一样)并且它是为Linux编译的.
那就是说...祝你好运.我讨厌针对我拥有文档和源代码的第三方库编程.