Google を使用して Linux で DLL を作成する方法を見つけようとしましたが、非常に紛らわしい情報が得られました。
Linux でダイナミック リンク ライブラリを作成することはできますか? そうでない場合、実行中の複数のプログラムから別のモジュールのコードを呼び出すことができる他の手段はありますか?
Google を使用して Linux で DLL を作成する方法を見つけようとしましたが、非常に紛らわしい情報が得られました。
Linux でダイナミック リンク ライブラリを作成することはできますか? そうでない場合、実行中の複数のプログラムから別のモジュールのコードを呼び出すことができる他の手段はありますか?
これは、DLL が Windows の用語であるためです。Linux では、共有ライブラリと呼ばれます。
http://www.linux.org/docs/ldp/howto/Program-Library-HOWTO/shared-libraries.html
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
始めたばかりの場合はたくさんありますが、ある時点でUlrichDrepperの「<ahref= "http://people.redhat.com/drepper/dsohowto.pdf" rel ="nofollownoreferrer」を参照する必要があります。 ">共有ライブラリの書き方。"</p>
私はDLLファイルの代わりに.SOファイルを推測します。これは、StackOverflowではなく共有オブジェクトを意味します:)、あなたが望むものです。