- - PR -
VC++で作られたDLLをVC++.NETから呼び出し方
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-12-06 18:33
VC++で作成されたDLLをVC++.NETから
呼び出すにはどうしたらよいでしょうか。 初歩的な質問ですいません。 初めてなもので。 ご存知の方がいらっしゃれば宜しく お願いします。 | ||||||||
|
投稿日時: 2005-12-06 19:11
こんにちは。
「VC++」と「VC++.NET」というのは、なにか区別されているのか分かりませんが… VC++で作成できるDLLにはいろいろ種類があります。 ・ノーマルなWin32 DLL(Cの関数をエクスポートしたもの) ・拡張 DLL(Cの関数以外にも、変数やC++クラスをエクスポートしたもの) ・ActiveX DLL(COMのインプロセスサーバー) ・マネージコードのDLL(VC++6以前では作成不可能) だいたい上記のうちのどれかだと思いますが、 DLLの種類によって、呼び出し方も異なってきますので もう少し情報をお願いします。 | ||||||||
|
投稿日時: 2005-12-06 20:08
こんにちは。
ActiveXとほぼ同様な機能を DLL形式のコマンドとして用意してます。 となっています。 対応開発コンテナはCOMラッパー となってました。 DLL関数コマンドがありまして そのコマンドを使用したいのです。 申し訳ありません。
| ||||||||
|
投稿日時: 2005-12-06 20:44
こんばんは。
この部分の解釈の仕方がよく分かりませんでしたが…
どうもノーマルなWin32 DLLだということですね。 呼び出し方は2通りあります。 「ロード時リンク」と「実行時リンク」です。 ・ロード時リンク(暗黙のリンク) この場合には、DLLとは別に、ヘッダファイル(.h)とインポートライブラリ(.lib)というものが必要です。 ・ヘッダファイルには通常、DLLでエクスポートされている関数のプロトタイプ宣言が記述されています。 ・インポートライブラリは、DLL作成時に同時に作成されるlibファイルです。 DLLと共にこの2つのファイルが提供されていれば、 ソースコード内でヘッダファイルをインクルードし #include "hoge.h" リンカにインポートライブラリ hoge.libを追加します。 ・実行時リンク(明示的リンク) この場合は、ヘッダファイルもインポートライブラリも必要ありません。次のAPIを使用します。 ・LoadLibrary ・GetProcAddress ・FreeLibrary "LoadLibrary GetProcAddress"などでネット検索すれば、サンプルコードがたくさん見つかると思います。 | ||||||||
|
投稿日時: 2005-12-13 13:02
Tdnr_Sym様
どうもありがとうございました。 |
1