2010-05-02 77 views

回答

6

WINAPI不是它的宏扩展到一个实现返回类型该功能的特定装饰或属性。在这种情况下,它指定了调用约定,相当于__stdcall

从语法上讲,WINAPI大致(但不完全)等同于存储类说明符,如static

+0

但是'__declspec(stdcall)'是什么意思呢?常规形式应该是:'[return type] function_name(parameters)',对吧? – user198729 2010-05-02 11:31:24

+0

@ user198729:http://en.wikipedia.org/wiki/Calling_convention。是的,通常它应该是'returnType func(parameters)',但'__declspec'是微软的扩展。 – jamesdlin 2010-05-02 11:33:14

+1

@ user198729:这是函数声明的最简单形式。该函数也可以声明为'static'或'inline',它影响函数声明的含义,但不影响返回类型。 'WINAPI'是一个特定于窗口的扩展,它指定调用约定,但不会改变函数声明的含义。 – 2010-05-02 11:37:22

2

WINAPI不是第二个返回值,而是#define对于__stdcall

__stdcall是一个调用约定,它处理参数如何给函数。

+0

所以'__stdcall'和@Charles Bailey提到的'__declspec(stdcall)'是一样的,对吧? – user198729 2010-05-02 11:34:01

+0

我认为这是,虽然我只知道它在'__stdcall'形式,用于 DerKuchen 2010-05-02 11:35:19

+0

对不起,__stdcall是正确的。我只有一个braino。 – 2010-05-02 11:40:20

相关问题