问题:是否可以使用.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来和他们联系。 对此的支持曾经是实验性的 – 我不知道它的现状。