一个关于DLL的简单问题,请教

xjw_ustb 2004-11-27 10:58:32
我看书上说VC/MFC的缺省采用的是__cdecl调用,而windows采用的是pascal调用,那为什麽VC中即可以
调用__cdecl的Dll函数,又可以调用pascal的Dll函数,这两种调用不是不可以混用吗?
...全文
94 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
oyljerry 2004-11-28
  • 打赏
  • 举报
回复
函数申明和调用约定一致就可以了
__cdecl和__stdcall的函数名修饰和参数压栈方式不同
qrlvls 2004-11-27
  • 打赏
  • 举报
回复
VC中因为函数前有 __cdecl 和 pascal 的函数声明
编译器在编译过程中对参数传递作了处理
_cdecl 和 _stdcall 的区别在于参数的压栈方式
beyondtkl 2004-11-27
  • 打赏
  • 举报
回复
是呀 只要一致就可以的...
你调用函数一次也只有一种方式呀。。与其声明的要一致 不然会出地址错误的
因为 堆栈清理方式可嗯女冠不一样
Semigod 2004-11-27
  • 打赏
  • 举报
回复
不是这样的,现在的windows API使用的是 stdcall 调用规则

至于是否混用,那也没有关系,只要函数申明与函数定义的调用规则一致就可以

15,471

社区成员

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

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