22

質問: Linux で .dll ファイルを使用してプログラムをコンパイルすることは可能ですか?

目的: この .dll は、サード パーティのプロプライエタリ ソフトウェアに php 拡張機能を書き込むために使用されます。

背景と研究:

というライブラリが与えられましたproprietary.lib.libこれまで拡張機能を見たことがなかったので、興味があったので、次のように入力しました。

file proprietary.lib

出力は次のとおりです。

proprietary.lib:  current ar archive

私はいくつかの調査を行い、それarが多かれ少なかれあることを発見しました (実際、ほとんどの *nix 環境で置き換えられたtarと思います)。tarar

arマンページを調べたところt option、そのアーカイブの内容を一覧表示した表が表示されていることがわかりました。涼しい。だから私はタイプします:

ar t proprietary.lib

そして得る:

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

5 に答える 5

9

.dll ファイルは通常、Windows 共有ライブラリです。(Linux の誰かが通常の Linux ライブラリを構築し、それを何らかの理由で .dll と呼んでいる可能性もあります。)

Wineを使用してそれらに対してリンクできる可能性があります。これに対するサポートは、かつては実験的なものでした。現在の状況はわかりません。

于 2010-03-29T14:31:55.290 に答える
8

arファイル (Debian パッケージはarファイル、fwiw) を抽出fileして、コンテンツに対して実行することができます。

変換せずに Windows DLL を使用することはできません。Linux でネイティブに動作することを私が知っている唯一の DLL ファイルは、Mono でコンパイルされています。

誰かがコードに対して独自のバイナリ ライブラリを提供した場合は、それがターゲット アーキテクチャ用にコンパイルされており (x86 システムで ARM バイナリを使用しようとするようなものではありません)、Linux 用にコンパイルされていることを確認する必要があります。

そうは言っても…頑張ってください。ドキュメントとソースがあるサードパーティのライブラリに対してプログラミングするのは嫌いです。

于 2010-03-29T14:32:37.247 に答える