93939


.dllファイルとは何ですか？  
ソースコードをコンパイルした結果のファイルですか？  
それとも、.dllファイル自体が何かの言語で書かれているのですか？

.dllファイルは、一般にはどういう形式で配布されるのですか？  
・ソースコードとして配布される？  
・それともexeファイルと一緒に配布される？


CC BY-SA 4.0
2023-02-20T13:32:33.107
93931
2023-02-21T07:22:09.107
2023-02-21T07:22:09.107
3060
7886
question
dll
.dllファイルとは何ですか？ ソースコードをコンパイルした結果のファイルですか？　どういう形式で配布されるものですか？


Dynamic Link Library の頭文字から作った DLL と一般に呼ぶライブラリーの一種です。  
もっと詳しいことは Google 先生に聞いて下さい。

.dll ファイルなのであればソースのわけがないと考えます(ライブラリー形式のファイルなのだから)。

「配布される」の一言で何がお聞ききになりたいのか私には判らなかったので、  
それについては的確な答えが示せませんが、実行ファイル(.exe など)に固有のものならば、  
実行ファイルと共に提供すべきものだと考えます。


CC BY-SA 4.0
2023-02-20T14:00:56.187
93932
2023-02-20T14:00:56.187
43029
93931
answer


[ffmpeg](/questions/tagged/ffmpeg "'ffmpeg' のタグが付いた質問を表示") 固有の事情を言えば

ffmpeg
は開発者からはソースコードのみ配布となっています。理由は「コーデックの使用料金を負担するのは誰？」というイヤンな問題を回避するためです。なのでネット上で検索すると
ffmpeg の DLL を使う別ソフトの提供者の判断なり契約なりで「どれを使い、どれを使わない」を選択した結果の DLL
ファイルがいろいろ入り乱れています。

@re9 氏が `avformat-59.dll` をあなたのソフトで使いたかったら ffmpeg のソースコードから `avformat-59.dll`
を自分でビルドすればよいわけです。そしてあなたのソフトのインストーラに ffmpeg の DLL
をインストールするよう追加すればよいことになります。ライセンス表示をどこかに追加する必要があるかもしれません。

当然ながらその際には各種コーデックのどれを使う使わないを選択し必要ならコーデックの権利者と契約して使用料金を払うことになります。 Windows
に標準で付属しているコーデックなら Microsoft がコーデックの権利者と契約を結んで使用料金を払い済み（ Windows
の購入価格の一部として末端ユーザが払い済み）だから、あなたのソフトがそのコーデックを使う場合には追加料金が必要ない、のかもしれません。その辺のライセンス問題は
SO では扱わないというか扱えないというか扱っても誰も責任取れませんというか。


CC BY-SA 4.0
2023-02-21T07:10:37.987
93939
2023-02-21T07:10:37.987
8589
93931
answer