imlym
驱动牛犊
驱动牛犊
  • 注册日期2002-03-19
  • 最后登录2020-05-12
  • 粉丝0
  • 关注0
  • 积分12分
  • 威望66点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
  • 社区居民
阅读:3242回复:4

用eax edx ecx传参的函数如何用c声明啊?

楼主#
更多 发布于:2007-10-11 12:03
相当于delphi的register call. 如何用c声明。
Apocalypse
驱动牛犊
驱动牛犊
  • 注册日期2003-04-28
  • 最后登录2007-10-24
  • 粉丝0
  • 关注0
  • 积分90分
  • 威望9点
  • 贡献值0点
  • 好评度9点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-10-12 10:02
用__fastcall ,前三个参数会走eax  ecx edx,之后的走堆栈
imlym
驱动牛犊
驱动牛犊
  • 注册日期2002-03-19
  • 最后登录2020-05-12
  • 粉丝0
  • 关注0
  • 积分12分
  • 威望66点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
  • 社区居民
板凳#
发布于:2007-10-13 15:37
用__fastcall, 试过啦, 只用edx ecx. 我再试试去
Apocalypse
驱动牛犊
驱动牛犊
  • 注册日期2003-04-28
  • 最后登录2007-10-24
  • 粉丝0
  • 关注0
  • 积分90分
  • 威望9点
  • 贡献值0点
  • 好评度9点
  • 原创分0分
  • 专家分0分
地板#
发布于:2007-10-13 20:18
faint, 刚查msdn上说VC的__fastcall果然只用了ecx和edx,记错了....
你可以用内嵌汇编来做
http://msdn2.microsoft.com/en-us/library/5ekezyy2(VS.80).aspx
imlym
驱动牛犊
驱动牛犊
  • 注册日期2002-03-19
  • 最后登录2020-05-12
  • 粉丝0
  • 关注0
  • 积分12分
  • 威望66点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
  • 社区居民
地下室#
发布于:2007-10-16 10:35
谢谢啦。可以确定原来的sys是用c写的。 其它地方我转成c后再编译,一模一样
(是code都100%的一样,而不是功能一样)。
游客

返回顶部