1. ホーム
  2. linux

[解決済み] Linuxで.dllを使用することは可能です [重複].

2022-02-09 05:16:46

質問

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

この先は。 この.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) ...

解決方法は?

を抽出してみてはいかがでしょうか? ar ファイル(Debianパッケージは ar ファイルを作成し file を実行します。

WindowsのDLLを翻訳せずに使うのは無理でしょう。私が知っている限り、Linuxでネイティブに動作するDLLファイルは、Monoでコンパイルされたものだけです。

もし誰かがあなたにプロプライエタリなバイナリライブラリを提供してくれたなら、それがターゲットアーキテクチャ用にコンパイルされていること(x86システムでam ARMバイナリを使おうとするようなことはありません)とLinux用にコンパイルされていることを確認すべきです。

とはいえ...頑張ってください。私はサードパーティのライブラリに対してプログラミングをするのが嫌いで、ドキュメントがあるところでは ソースは