vb调用vc dll

功能:比较两数大小。
在VC中新建一个Win32 Dynamic-Link Library工程,DLL类型选“A DLL that exports some symbols”。把.cpp文件内容全部改成
#include "XXX.h"
int __stdcall Max(int a, int b)
{
if(a>=b)return a;
else
return b;
}
int __stdcall Min(int a, int b)
{
if(a>=b)return b;
else
return a;
}
(XXX为工程名;__stdcall表示在VB中调用DLL的方式 )
在Source Files文件夹下新建XXX.def文件,内容:
LIBRARY XXX
EXPORTS Max
EXPORTS Min
将XXX.h文件内容全部改为:
extern "C" _declspec(dllexport) int __stdcall Max(int a, int b);
extern "C" _declspec(dllexport) int __stdcall Min(int a, int b);
然后,compile--rebuild all,在生成的Release文件夹下找到XXX.dll和XXX.lib两个文件,将它们拷贝到你建立的VB工程目录下,在VB的Form_load程序里输入:
Option Explicit
Private Declare Function Max Lib "...\...\...\XXX.dll" (ByVal a As Long, ByVal b As Long) As Long
Private Sub Form_Load()
Dim c As Long
c = Max(7, 8)
Text1.Text = c
End Sub
其中,"...\...\...\XXX.dll"是包括盘符在内的XXX.dll文件的完整路径。
运行这个VB程序,在text1文本框内显示“8”。

你可能感兴趣的:(C++,c,C#,vb,vc++)