「DLL」を編集中
ナビゲーションに移動
検索に移動
この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。
最新版 | 編集中の文章 | ||
1行目: | 1行目: | ||
− | '''DLL''' | + | '''DLL'''とは、[[Windows]]においてよく使う機能を[[ライブラリ]]にし、一個のファイルにしたものである。 |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
==DLLの使い方== | ==DLLの使い方== | ||
test.dllのint test(int a)という関数を利用することを考える。 | test.dllのint test(int a)という関数を利用することを考える。 | ||
− | + | 静的リンクの利点はプログラムが簡単になることだが、欠点はDLLがないと起動できなくなることなので、 | |
拡張機能を提供するには向かない。 | 拡張機能を提供するには向かない。 | ||
− | + | 逆に、動的リンクの利点はDLLがなくてもプログラム内でエラー処理をすればいいことだが、 | |
プログラムが若干複雑になるという欠点がある。 | プログラムが若干複雑になるという欠点がある。 | ||
===[[C言語]]=== | ===[[C言語]]=== | ||
====静的リンク==== | ====静的リンク==== | ||
− | 1. | + | 1.インポートライブラリを作成する |
<pre>>pexports test.dll > test.def | <pre>>pexports test.dll > test.def | ||
>dlltool --dllname test.dll --input-def test.def --output-lib libtest.a</pre> | >dlltool --dllname test.dll --input-def test.def --output-lib libtest.a</pre> | ||
126行目: | 118行目: | ||
result=test(a) | result=test(a) | ||
Print result</pre> | Print result</pre> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
==DLLの作り方== | ==DLLの作り方== | ||
− | + | [[Visual Studio|Visual C#]]を使用しても拡張子が.dllのファイルは作れるようだが、ここで扱うDLLとは別物のようである。 | |
− | [[Visual Studio|Visual C#]] | ||
− | |||
− | |||
− | |||
− | |||
− | |||
===C言語=== | ===C言語=== | ||
<source lang="c"> | <source lang="c"> |