Simple question

future0723 2002-10-11 12:06:04
谁能解释一下:
pascal
__pascal

stdcall
__stdcall

cdecl
__cdecl
各表示什么,都有什么功能,或者说在程序中都作了些什么?
每两个之间都有什么区别?
越详细越好。
谢谢。
...全文
60 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
cwanter 2002-10-11
  • 打赏
  • 举报
回复
__stdcall指定函数调用时的参数传递方式是从右往左压入栈中的,由被调用函数清除栈中的参数。

__cdecl也是从右往左将参数压入栈内,但是由调用函数而不是由被调用函数清除栈中数据,所以可实现可变参数数量的函数,如printf等。这是C和C++的缺省调用方式。

__pascal==__stdcall
blh 2002-10-11
  • 打赏
  • 举报
回复
特殊宏,有编译器使用用来处理参数压栈顺序
你有msdn吗?有的话书进去一茬不久知道了,呵呵
anyoshon 2002-10-11
  • 打赏
  • 举报
回复
这是编译器的各种调用方式.
用户 昵称 2002-10-11
  • 打赏
  • 举报
回复
这些都是编译器的编译选项
future0723 2002-10-11
  • 打赏
  • 举报
回复
谢谢了。不过还是不十分明白。

69,373

社区成员

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

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