2010-05-02 74 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

相關問題