miclewang
驱动牛犊
驱动牛犊
  • 注册日期2002-04-11
  • 最后登录2002-04-29
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1674回复:3

我的程序是__cdecl调用方式,但需要调用的dll库中的函数是__stdcall调用,在程序中调用时连接错误,怎么办?

楼主#
更多 发布于:2002-04-26 08:59
谢谢指教!
Tom_lyd
驱动大牛
驱动大牛
  • 注册日期2001-09-02
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-04-26 09:11
如下:采用函数指针的形式
typedef RETURNTYPE (__stdcall * pFunc )();
pFunc pFuncInDll;
HMODULE hDll=GetModuleHandle ( *.dll );
pFuncInDll = (pFunc) GetProcessAddress(hDll,YOURREQIREDFUNC );
即可。
Tom_lyd
miclewang
驱动牛犊
驱动牛犊
  • 注册日期2002-04-11
  • 最后登录2002-04-29
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-04-26 09:17
首先谢谢楼上的回答,

如果通过连接时用lib的方式,有无好方法?
Tom_lyd
驱动大牛
驱动大牛
  • 注册日期2001-09-02
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-04-26 09:40
这就应该是连接时调用的,GetModuleHandle 和 LoadLibrary是不同的,你可以查看MSDN看它们的区别。
Tom_lyd
游客

返回顶部