2016-04-29 12 views
0

こんにちは私のCプログラムのDLLを作成しようとしています。私のプログラムはUSBデバイスにメッセージを送受信します。私は私のCプログラムのライブラリとしてlibusb1.0を使用しています。今では、私のプログラムを他のプログラムでも使えるようにするために、libusbを使ってDLLをインポートしたりバンドルする方法を想像することはできません。C C DLLで使用する静的ライブラリ(.lib)

私はlibusbが静的ライブラリを提供していることを知り、C++を使ってDLL上で静的ライブラリをリンクする方法についての記事を見てきました。

私の質問は...静的ライブラリ(.libファイル)をC環境のダイナミックリンクライブラリ(.dll)にリンクすることは可能ですか?

P.S.可能であれば、私はリンク/チュートリアルを尋ねて、これを開発することから始めますか?

+0

ラッパーガイドを検索します。通常、[tag:c] .libを[tag:C++] DLLにラップします。 – LPs

答えて

1

は、WindowsではDLLは、基本的には(DllMain代わりWinMainまたはmainの)特別なエントリ・ポイントと普通の実行ファイルで、他の正常な実行可能ファイルとして、あなたは、静的および動的の両方のライブラリを使用することができます。

+0

そのコンセプトで、私のDLLは静的ライブラリを呼び出します。その後、私のDLLを使用するプログラムは、端末に静的ライブラリを持たなくても動作することが保証されていますか? – pejobear

+0

@pejobear簡素化された静的ライブラリは、オブジェクトファイルの集合にすぎません。静的ライブラリとのリンクは、実際のオブジェクトファイルとリンクするようなものです。そして、それは静的ライブラリのポイントのようなものでもあります。結果的に実行可能な/ DLLに静的にリンクされ、実行可能ファイル/ DLLの一部になります。 –

+0

それは理にかなっています。ありがとうございました。 – pejobear

関連する問題