用Regular DLL using shared MFC DLL方式创建的DLL,
如果函数声明为int _stdcall fun(var1,var2...)可以动态调用,但声明为int _cdecl fun(var1,var2...) 或_fastcall则调用出错,声明为int WINAPI fun(var1,var2...)也能调用成功,是否声明为int fun(var1,var2...)的函数是不可能用动态的方式调用?
DLL及调用程序都是用VC6.0

解决方案 »

  1.   

    dll的调用规则不对
    VC默认是_stdcall,也就是WINAPI 
    记得看MSDN说其它的不用了
      

  2.   

    对_stdcall 就是WINAPI
    我好像记得vc默认是_cdecl
      

  3.   

    参数压栈方式不对,建议用__stcall. 更多的信息请看MSDN。
      

  4.   

    #define  WINAPI   __stcall
      

  5.   

    #define  WINAPI   __stcall
      

  6.   

    #define  WINAPI   __stcall
      

  7.   

    #define  WINAPI   __stcall
      

  8.   

    __stcall,这是标准的32位调用,还有16位的调用(用PASCAL),给不同的程序使用时,应先确定那种方式。