关于C中的PASCAL函数调用问题

lj860603 2006-04-28 10:40:27
请教大家一个问题,就是在C中调用PASCAL函数,比如:
int pascal fun(int score,int class,int grade);
.....
fun(67,2,3); //调用PASCAL函数和一般调用函数的区别是:PASCAL函数是把参数从左往右压入栈内,而一般函数是把参数从右向左压入;我的问题是,这样的参数压入顺序结果有什么区别?是不是到调用结束后,只是参数的释放顺序不一样而已?还是还有其他的问题出现?
谢谢大家!
...全文
151 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
吃狼的豆腐 2006-04-28
  • 打赏
  • 举报
回复
如果不是内联汇编调用好象不用管,编译器会搞定
吃狼的豆腐 2006-04-28
  • 打赏
  • 举报
回复
顺便说一句:pascal的压栈方式也是从右到左的。??
————————————————————
谁说的??

pascal 左边先入栈 过程清理参数
_stdcall 右边先如栈 同上
_fastcall 编译器指定 同上
_cdecl 右先入 有调用程序清除参数

打了这么多给1分意思意思吧
lj860603 2006-04-28
  • 打赏
  • 举报
回复
顺便说一句:pascal的压栈方式也是从右到左的。
==========================================
?我记得是从左向右的呀..难道我记错了?
zwzzwz 2006-04-28
  • 打赏
  • 举报
回复
pascal 这是一种调用方式,在以前16时代用的比较多,现在不用,以__stdcall代替。。。你查一下MSND,有详细说明。
顺便说一句:pascal的压栈方式也是从右到左的。
lj860603 2006-04-28
  • 打赏
  • 举报
回复
哇``一下子跑到第2页```请大家帮帮我``谢谢`
meicaikourou 2006-04-28
  • 打赏
  • 举报
回复
对于设计逻辑而言,函数调用规则没有影响,这是由系统实现的,对coder是透明的
但不同的函数调用规则,在效率上有一定区别
lj860603 2006-04-28
  • 打赏
  • 举报
回复
pascal 左边先入栈 过程清理参数
===================================
过程清理参数是怎么一回事?在效率上或者其他方面有什么影响吗?谢谢.

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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