tempad
Readygo技术搜索引擎 >>软件测试 >> 请问c call,stdcall pascal call 是怎么定义的,有什么区别。

请问c call,stdcall pascal call 是怎么定义的,有什么区别。

Readygo技术搜索引擎 网络搜索 efish 2008-1-17 9:39:54

请问c call,stdcall pascal call 是怎么定义的,有什么区别。

楼主()2001-10-29 09:49:53 在 C/C++ / C语言 提问

stdcall进行寄存器保护吗? 问题点数:0、回复次数:3Top

1 楼gogocat()回复于 2001-10-29 10:06:49 得分 0

有不同,首先有两种常用调用规则,一种是c语言的规则,一种是pascal规则:  
          c规则的主要特点是,函数参数从右向左压入堆栈;  
                                                当函数处理完之后,被调用函数清理堆栈;  
          pascal不同,函数参数从左向右压入堆栈;  
                                  调用者清理堆栈。  
          stdcall就是c   call  
  明白了吗,当然还有些细节,比如参数名字的变化等,你可以看看有关资料。Top

2 楼symouse(耗子)回复于 2001-10-29 10:28:44 得分 0

aaTop

3 楼symouse(耗子)回复于 2001-10-29 10:35:42 得分 0

你说的有问题和nasm的调用宏的意思不一样,它是这样写的:  
  ccall         FuncName,   param1,   param2,   param   3...   ;C:   Last-1st,   stack   clean  
  pcall         FuncName,   param1,   param2,   param   3...   ;Pascal:   1st-Last,   no   clean  
  stdcall     FuncName,   param1,   param2,   param   3...   ;StdCall:   last-1st,   no   clean  
  fastcall   FuncName,   param1,   param2,   param   3...   ;FastCall:   registers/stack  
  顺便问一下,win32api是stdcall吧?那么win32api的函数是否对通用寄存器进行保护???  
  给我的感觉是没有保护,似乎改变ebx,edi,esi的还没发现,但其他的寄存器就有所改变。Top

责任编辑: efish 参与评论 查找更多:
相关文章
能查看表的大小吗? 能查看表的大小吗?
请教:yuv格式和RGB格式怎么转换?有这个说法吗?另… 请教:yuv格式和RGB格式怎么转换?有这个说法吗?另外有yuv格式的静态图片吗?
搞.NET开发半年了,最近对XML产成浓厚的兴趣。 搞.NET开发半年了,最近对XML产成浓厚的兴趣。
菜鸟问问: vb 菜鸟问问: vb
用瑞新2003的进来看看啊!!!!!!! 用瑞新2003的进来看看啊!!!!!!!
摄像头的输出格式 摄像头的输出格式
急!!文件上传 急!!文件上传
这个问题难倒了很多虾客,难道真的没有很好的解决办… 这个问题难倒了很多虾客,难道真的没有很好的解决办法吗?
数据库的问题,请高手们帮忙回答。 数据库的问题,请高手们帮忙回答。
USB 的問題 USB 的問題
2秒记住本站域名

玩过泡泡龙吗?Readygo?Go! 再加上.Com.Cn的后缀,那就是大名小顶的readygo.com.cn

分类导航
Readygo技术搜索引擎