Ho il seguente codice:Come si memorizza il valore di un registro in una posizione di memoria puntata da un puntatore?
void * storage = malloc(4);
__asm
{
//assume the integer 1 is stored in eax
mov eax, storage //I've tried *storage as well but apparently it's illegal syntax
}
/* other code here */
free(storage);
Tuttavia, nel codice, quando ho dereference il puntatore di memorizzazione (come in *(int *)storage
), non ottengo 1. Quindi, qual è il modo corretto di memorizzare il valore di un registro nella memoria puntato da un puntatore C++?
il mio male, penso che tu abbia ragione. Non ho avuto il tempo di controllare se la prima risposta ha funzionato. Mi ha ricordato che esistevano cose come "dword", quindi ho pensato che avrebbe risolto il problema. –