C++技术之一:C++类 _stdcall
一切从一个C++ 类库头文件开始,现在在做一个C++的项目,期间用到一个开源的界面库DUILib(类似MFC),这个东西还不错能很容易的写出漂亮的界面,比如QQ的界面,可以去下载下来研究研究,地址:http://code.google.com/p/duilib/ 废话不多说,我比较困扰的是UIWebBrowser.h这个头文件,虽然是C++写的,但里面包含太多大学C++课本以外的东西,第一遍看下来跟看天书一样,里面有很多的不惑,接下来我们一个一个解开。 首先看一下这个函数定义: virtual HERSULT STDMETHODCALLTYPE GetTypeInfoCount( __RPC__out UINT *pctinfo); 这一篇详细介绍 __stdcall 上篇文章我们知道 #define STDMETHODCALLTYPE __stdcall ,那__stdcall又是个什么东东呢,有什么作用呢?下面来完全的了解一下. 1. _cdecl (1). 是C Declaration的缩写,表示C语言默认的函数调用方法,实际上也是C++的默认的函 数调用方法。 (2). 所有参数从右到左依次入栈,这些参数由调用者清除,称为手动清栈。具体所示:调用 方的函数调用->被调用函数的执行->被调用函数的结果返回->调用方清除调整堆栈。 (3). 被调用函数无需要求调用者传递多少参数