ho letto Microsoft's documentation, ma lo schema è così imbarazzante, ho pensato di doppio controllo per assicurarsi che sto comprensione correttamente ...x64 convenzione di chiamata (stack) e varargs
mia comprensione è il metodo generico con cui vengono passati parametri è questo:
--- bottom of stack ---
(return address)
[shadow space for arg 1]
[shadow space for arg 2]
[shadow space for arg 3]
[shadow space for arg 4]
arg N
arg N - 1
arg N - 2
...
arg 6
arg 5
---- top of stack -----
sembra così imbarazzante nell'attuazione va_arg
e tale ... questo è in realtà corretta?
Questo non può essere corretto: lo spazio ombreggiato per args 1-4 è adiacente all'indirizzo di ritorno, secondo http://msdn.microsoft.com/en-us/library/ew5tede7 –
Anche l'indirizzo di ritorno è in fondo alla pila, non in alto. –
@HarryJohnston: Oh mio male, hai ragione, grazie ... non sono sicuro di cosa stavo pensando lì; fisso. Il resto è corretto? – Mehrdad