tempad
Readygo技术搜索引擎 >>项目管理 >> 请问,__stdcall是怎么用的,他有什么作用?

请问,__stdcall是怎么用的,他有什么作用?

Readygo技术搜索引擎 网络搜索 efish 2008-1-17 4:58:35

请问,__stdcall是怎么用的,他有什么作用?

楼主gffly(最佳前锋)2001-12-12 08:39:52 在 C/C++ / C语言 提问

int   (__stdcall   *do1)(DWORD,DWORD);  
  int   (__stdcall   *do2)(DWORD);  
  int   (__stdcall   *do3)(DWORD,DWORD);  
  int   (__stdcall   *do4)(DWORD);  
  int   (__stdcall   *do5)(DWORD,DWORD);  
  int   (__stdcall   *do6)(DWORD);  
  问题点数:20、回复次数:3Top

1 楼kingfish(pd-px-cz)回复于 2001-12-12 09:43:41 得分 10

简单点说,__stdcall是编译器调用规范的一种  
   
  调用规范:函数参数入栈顺序(左到右,右到左),是否保存至寄存器,是否改变函数名,  
                  栈的清理责任归属等等  
   
  我感觉要注意的还是在DLL中,  
  如VC\BCB的DLL互用,通常声明为__stdcall  
  Top

2 楼bbdragon(云梯)回复于 2001-12-12 10:12:00 得分 10

楼上的解释大概正确。只是使用的时候不是这样的。  
   
  记住简单规则:如果是window   与   你的应用程序的函数   之间的调用要加这个关键字。  
  window   所有API都是该调用规范的,#define   WINAPI   __stdcall,所以你调的window  
  函数都是,那么window调你的函数也应该加,如WinMain,回调函数。  
  #define   CALLBACK   __stdcall   Top

3 楼missdeer(思鹿)回复于 2001-12-12 10:48:08 得分 0

是参数传递的一种规范,就是把参数压入栈来传递,还有一种是用寄存器来传递参数的,速度会快些Top

责任编辑: efish 参与评论 查找更多:
相关文章
一个有关没有定义的编译问题,请各位大虾看看 一个有关没有定义的编译问题,请各位大虾看看
帮帮我吧!!!如何把字符串转化成实际对应的数值!… 帮帮我吧!!!如何把字符串转化成实际对应的数值!!类似eval(javascript)函数。
请问大家用的delphi6的汉化文件好吗? 请问大家用的delphi6的汉化文件好吗?
为什么论坛的搜索功能始终不能用? 为什么论坛的搜索功能始终不能用?
发现一本巨好的书 发现一本巨好的书
大家帮忙出三道C#的面试题 大家帮忙出三道C#的面试题
紧急求救!如何根据文本框名对jsp页面赋值??? 紧急求救!如何根据文本框名对jsp页面赋值???
一个棘手的问题,高分求助!!分数增加中....... 一个棘手的问题,高分求助!!分数增加中.......
MFC做界面怎么如此弱呀 MFC做界面怎么如此弱呀
谁有activebar2.0的破解码*********在线等候马上给分… 谁有activebar2.0的破解码*********在线等候马上给分****
2秒记住本站域名

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

分类导航
Readygo技术搜索引擎