现在的位置: 首页 > 综合 > 正文

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

2018年04月15日 ⁄ 综合 ⁄ 共 363字 ⁄ 字号 评论关闭

找不到入口点有以下几种情况:
    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)

【上篇】
【下篇】

抱歉!评论已关闭.