VC++でDLLを作りたいのですが・・・

[戻る]
めぐ 2004/11/24(水) 14:48:12
VC++でC言語の関数(動作保証済み)をDLL化してVBで使用したいのですが、
上手くDLLが作成できません。。。
VC++のプロジェクトでWin32 Dynamic-Link Libraryを選択して作成しようとしています。
できれば、C言語の関数は動作が保証されているのであんまりいじりたくありません。
VC++プロジェクトにCソースファイルを追加する形でVBで呼び出せるDLLは作成できないのでし
ょうか?
VCは初心者なので、分かりやすいアドバイスお願い致します。

琅珎 2004/11/24(水) 14:56:04
Cppファイル内で、Cの関数部分を
extern "C" {
  // C関数のコード(test関数だとすると)を貼り付け
  int WINAPI test(){

  }
}
で実行するとVCでもCの命令が通ると思います。
あとは、defファイル内でtest関数を宣言してあげてください。
VBでも呼び出せるDLLが作成できると思います。

めぐ 2004/11/24(水) 15:16:17
分かりやすい返答ありがとうございます。
もう一つ質問があるのですが、Cソースファイルには関数のサブルーチンも含まれているのです
が、そのサブルーチンもextern "C"の中に記述してもいいのですか?

琅珎 2004/11/24(水) 15:47:53
> そのサブルーチンもextern "C"の中に記述してもいいのですか?

かまいません。
もう、include部分以下全部extern内でもいいと思います。

るーた 2004/11/24(水) 15:48:40
extern "C"付けるのは、公開する関数だけで
内部で使用してる関数にはいらないです

めぐ 2004/11/24(水) 16:20:47
琅珎さん、るーたさんありがとうございます。
お二人のアドバイスを参考にやってみようと思います。
このラウンジは初心者にも親切に答えて下さるので、大変助かります。
実際やってみてわからないことが有りましたら、また投稿させてください。
解決マークはDLLが作成できてから付けさせて下さい。

古いスレッドには追加発言できません。