3

プラグインは、特定の機能を実行し、アプリケーションで使用するためにロードされるコンポーネントであることを理解しています。

Linuxの共有オブジェクトライブラリ(.so)とWindowsの.dllは、アプリケーションによって実行時にロードされるライブラリです。

.dll/.soが常にプラグインである場合はどうなるかを理解したいと思います。すべてのプラグインは.dll/.sosですか?

4

1 に答える 1

2

実際、.dll'sと.so'sはダイナミックライブラリです。静的ライブラリという名前の他のタイプライブラリもあります。Linuxでは、拡張子は.aです。

プログラマーは、コードを簡単に保守するためにライブラリーを使用する傾向があります。また、ライブラリが複数のアプリケーションで共有される場合は、メインメモリの使用量を考慮して共有ライブラリが選択されます。

このロジックは、プラグインを含む構造に適用できます。コードピースがアプリケーションの単一プロセスでのみ使用される場合は、静的ライブラリをプラグインとして使用できます。ただし、コードが複数のプロセスで共有される場合は、これらのプロセスが同じアプリケーションのインスタンスであっても、共有ライブラリを使用する必要があります。

共有ライブラリをプラグインとして使用する場合、既知のメソッドとしてライブラリを含めたり、実行可能ファイルをライブラリに直接リンクしたりしないでください。代わりに、を使用する必要がありますlibdlここを見て、を探してくださいdynamic loading

于 2012-11-25T23:35:50.837 に答える