引數傳遞,和命名慣例
Microsoft 專有的
它們可丟時,所有的引數會擴展為 32 位元。傳回值也會擴大為 32 位元,並傳回 EAX 登錄,除了為 8 位元架構,則會傳回 EDX:EAX 暫存器組配對中的。較大的結構會在 EAX 登錄以傳回指標隱藏傳回結構。參數會推入至堆疊,由右至左。在暫存器中,將不會傳回不是 PODs 的結構。
編譯器會產生初構和終解程式碼,以儲存並還原 ESI、 EDI、 EBX 和 EBP 通氣機、 如果函式中使用了。
![]() |
---|
當結構、 等位或類別函式所傳回的值時,所有定義的型別都必須是相同時,其他程式可能會在執行階段失敗。 |
如需關於如何定義您自己的函式初構和終解程式碼的資訊,請參閱 Naked 函式呼叫。
Visual C/C++ 編譯器支援下列的呼叫慣例。
Keyword |
堆疊清除 |
傳遞的參數 |
---|---|---|
呼叫者 |
將推入參數在堆疊上,以反向順序 (由右至左) |
|
N/A |
載入至 CLR 運算式堆疊順序 (由左到右) 的參數。 |
|
被呼叫者 |
將推入參數在堆疊上,以反向順序 (由右至左) |
|
被呼叫者 |
儲存在暫存器,然後推入堆疊上 |
|
被呼叫者 |
推入堆疊。 這在 ECX 中儲存的指標 |
如需相關資訊,請參閱過時的呼叫慣例。
結束特定