vb没法定位.dll函数入口点

本文介绍了在Windows环境下DLL调用时遇到找不到入口点问题的原因及解决办法,包括注意大小写、正确声明入口函数以及处理C++编译方式下函数名转换等问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

找不到入口点有以下几种情况:
    1、没有注意大小写。
    在Win32中,DLL的函数和VB的函数中必须大小写相同。
    2、没有声明入口函数。
    你需要在DLL的*.def文件中加上入口函数,如:
    EXPORTS
   
    SetData @1
    GetData @2
    这样VB程序就可以访问SetData和GetData函数了。其中@1、@2是这两个函数的引用序号,通常在VB中不使用
    3、采用C++编译方式。
    在C++中编译函数时会将函数名进行转换,如将DLL中的kk(double k)转换为_kk@8。解决的办法有两种:
    (1)如果没有使用C++的类,可以将.cpp文件改名为.c,就不进行这种转换了。
    (2)在函数定义前加上extern 'c' ,如:
    extern 'c' void _stdcall kk(double k)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值