- 締切済み
インポートライブラリ(.lib)ファイルについて
インポートライブラリファイル(.lib)とは 何を行うファイルなのでしょうか。 外部DLLを使用可能にするためのファイルでしょうか。 libファイルの意味、使用方法を教えてください。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- antigen
- ベストアンサー率0% (0/1)
そのとおりです。間接的にリンクできる関数はDLLにあって、実行時にリンクすることがあります。DLLの関数群を直接コールすることもできるはずですが、それらの関数をコールするための手続きをインポートライブラリとして用意しておくことが多いようです。 どうも、間違ってはいないんだけど、いまいちつかめないといった感じですね。 実行ファイルの中に入っているのが直接リンクした関数で、実行時にリンクされるのが間接的にリンクする関数と言うことになるでしょう。 C++ Builder5のことはよくわかりません。ごめんなさい。
あなたが言っている通りライブラリです。 外部DLLを使う時はもちろん必要ですが #この時は、どういったDLLに必要とするライブラリが #あるのかの情報が記されている。 実行ファイルに直接リンクする関数 たとえば、 fopen() printof() など のライブラリ郡だったりします。 言い替えれば、オブジェクトファイル(.o)の塊 だと思ってください。 これがないと、あなたは普段何気に使っている fopen,printfなど自分で作らないと使えないことになりますよ
補足
御返事ありがとうございました。 初心者ですのでよく分からないので、追加で質問させて 頂きたいのですが、「実行ファイルに直接リンクする関数」というのはどういう意味なのでしょうか。 直接リンクする関数と、間接的にリンクする関数が 存在するのですか?。 インポートライブラリの役割としては (1)間接的にリンクする時の仲介役 (2)そのものが関数ファイル の2つがあるということになるのですか。 もう一つお聞きしたいのですが、C++ Builder5で 外部DLLを使用する時に、Implibというコマンドを使用 しないといけないそうですが、この使用方法がよく 分かりませんので教えていただけないでしょうか。 どうか御回答を宜しくお願いします。
お礼
お礼が遅れまして申し訳ありません。 どうもありがとうございました。 ところで、antigenさんとhorusさんは同一人物でいらっしゃるのでしょうか。 (今回の回答が前回の補足の回答であるような感じがしましたので) インポートライブラリとは、スタティックリンク時の手続きを書き込むファイルということですね。