请问,__stdcall是怎么用的,他有什么作用?
请问,__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
-
相关文章
2秒记住本站域名
玩过泡泡龙吗?Readygo?Go! 再加上.Com.Cn的后缀,那就是大名小顶的readygo.com.cn
