2

Google を使用して Linux で DLL を作成する方法を見つけようとしましたが、非常に紛らわしい情報が得られました。

Linux でダイナミック リンク ライブラリを作成することはできますか? そうでない場合、実行中の複数のプログラムから別のモジュールのコードを呼び出すことができる他の手段はありますか?

4

4 に答える 4

16

これは、DLL が Windows の用語であるためです。Linux では、共有ライブラリと呼ばれます。

http://www.linux.org/docs/ldp/howto/Program-Library-HOWTO/shared-libraries.html

于 2008-09-28T12:37:30.843 に答える
8

Sklivvzが言ったように、Linuxであなたが求めている用語は共有オブジェクトです。これらにはファイル拡張子が付けられます.so

gccを.so使用すると、オプションを使用してを作成でき-sharedます。

例えば。


gcc -shared -o libfoo.so foo.c

共有オブジェクトにlib*.soという名前を付けると-l、リンカーのオプションを使用してコンパイルできます。この状況では「lib」が推測されることに注意してください。

すなわち。


ld -o a.out -lfoo someobject.o 

または、 sの場合と同様に、dlopen()およびdlsym()を使用.soして、実行時にファイルをロードすることもできます。.dll

于 2008-09-28T12:55:55.107 に答える
1

始めたばかりの場合はたくさんありますが、ある時点でUlrichDrepperの「<ahref= "http://people.redhat.com/drepper/dsohowto.pdf" rel ="nofollownoreferrer」を参照する必要があります。 ">共有ライブラリの書き方。"</p>

于 2008-09-28T19:48:17.580 に答える
-1

私はDLLファイルの代わりに.SOファイルを推測します。これは、StackOverflowではなく共有オブジェクトを意味します:)、あなたが望むものです。

于 2008-09-28T12:38:05.133 に答える