我在VC中建了个 Win32 Dynamic Link Library->a simple dll project
然后写了个函数
extern "C" _declspec(dllexport) int ZDS(int a)
{
return a*10;
}
然后编译成DLL在VB中调用,却提示DLL调用约定错误,如果把VB编译成可执行文件,却不会提示错误;另外如果ZDS函数没有任何入口参数,在VB中无论是运行VB原程序还是直接运行EXE文件都很正常。
我在VB中的调用如下:
private declare Function ZDS lib "test.dll" (byval a as long) as long
这个申明应该是没有问题的。
请各位指点,谢谢!
然后写了个函数
extern "C" _declspec(dllexport) int ZDS(int a)
{
return a*10;
}
然后编译成DLL在VB中调用,却提示DLL调用约定错误,如果把VB编译成可执行文件,却不会提示错误;另外如果ZDS函数没有任何入口参数,在VB中无论是运行VB原程序还是直接运行EXE文件都很正常。
我在VB中的调用如下:
private declare Function ZDS lib "test.dll" (byval a as long) as long
这个申明应该是没有问题的。
请各位指点,谢谢!
{
return a*10;
}然后用def文件描述导出函数。
extern "C" _declspec(dllexport) int __stdcall ZDS(int a);
如果用def文件,函数声明时 extern "C" _declspec(dllexport) 这些可以不用。
总之pb调用vc的dll,extern "C" _declspec(dllexport)需要声明,def也需要描述函数
extern "C" _declspec(dllexport) int __cdecl ZDS(int a)
{
return a*10;
}