vc的dll,vb调用的问题

lwx 2003-01-28 10:55:28
vc向导生成
test.h
#include "StdAfx.h"

int __stdcall test1(int);

test.c
#include "stdafx.h"

BOOL APIENTRY DllMain( HANDLE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
return TRUE;
}

int __stdcall test1(int)
{
return 100;
}

test.def(同test.dsp一目录)
LIBRARY test
DESCRIPTION ''
;CODE SHARED READ EXECUTE
;DATA SHARED READ WRITE
EXPORTS
test1

vb中:
Declare Function test1 Lib "D:\cd\vc\test\test\Release\test.dll" (ByVal value As Long) As Long

测试:
dim ret as long
ret = test1(4)

出现 error 453 找不到dll入口


test.h 改为
extern "C" {
int __stdcall test1(int);
}
同样出错
各位帮帮忙!

...全文
12 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
sunyuan_01 2003-01-28
  • 打赏
  • 举报
回复
不用test.def
在导出申明写
extern "C" _declspec(dllexport) int _stdcall test(int)
{
return 100;
}

masterz 2003-01-28
  • 打赏
  • 举报
回复
project->add existing files to project...
select your .def file
功名半纸 2003-01-28
  • 打赏
  • 举报
回复
不用test.def
在导出申明写
extern "C" _declspec(dllexport) int _stdcall test(int)
{
return 100;
}
sdf123321 2003-01-28
  • 打赏
  • 举报
回复
这是VB的机制问题:
VB工程默认保存在安装目录下.
改变路经.
并且确定DLL文件放在WINDOWS系统目录下SYSTEM,SYSTEM32
或VB工程当前目录下
lwg7603 2003-01-28
  • 打赏
  • 举报
回复
EXPORTS
test1 @1
lwx 2003-01-28
  • 打赏
  • 举报
回复
还是不行
在vc project setting ->link project options
增加/def:"path\*.def" 编译即可

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧