Passaggio e convenzioni di denominazione dell'argomento
Specifici di Microsoft
Tutti gli argomenti vengono estesi a 32 bit quando vengono passati.I valori restituiti vengono estesi a 32 bit e vengono restituiti nel registro di EAX, eccetto 8 strutture di byte, che vengono restituite in EDX: Coppia del registro di EAX.Le dimensioni maggiori strutture vengono restituite nel log di EAX come puntatori alle strutture di ritorno nascoste.I parametri lo stack stack da destra a sinistra.Le strutture che non sono baccelli non verranno restituite nei log.
Il compilatore genera un codice di epilogo e di prologo per salvare e ripristinare il ESI, l'EDI, il EBX e i registri EIP, se utilizzati nella funzione.
[!NOTA]
Quando una struttura, un'unione, o una classe viene restituito da una funzione per valore, tutte le definizioni dei tipi devono essere uguali, in caso contrario il programma possono avere esito negativo in fase di esecuzione.
Per informazioni su come definire il proprio prologo ed epilogo di funzione codifica, vedere chiamate di funzione naked.
Le seguenti convenzioni di chiamata sono supportate dal compilatore di rappresentazione C/C++.
Parola chiave |
Pulizia dello stack |
Passaggio di parametri |
---|---|---|
chiamante |
Inserisce i parametri nello stack, in ordine inverso (da destra a sinistra) |
|
n/d |
Parametri del caricamento nello stack dell'espressione di CLR (in sequenza da sinistra verso destra). |
|
Metodo chiamato |
Inserisce i parametri nello stack, in ordine inverso (da destra a sinistra) |
|
Metodo chiamato |
Archiviato nei registri, quindi spinti nello stack |
|
Metodo chiamato |
Inserito nello stack, ciò puntatore archiviato in ECX |
per informazioni correlate, vedere convenzioni di chiamata obsolete.
specifico FINALE