Tôi có đoạn mã sau:Làm cách nào để lưu trữ giá trị của sổ đăng ký vào vị trí bộ nhớ được trỏ tới bởi một con trỏ?
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);
Tuy nhiên, trong các mã, khi tôi dereference con trỏ lưu trữ (như trong *(int *)storage
), tôi không nhận được 1. Vì vậy, cách thích hợp lưu trữ giá trị là gì của một thanh ghi vào bộ nhớ được trỏ tới bởi một con trỏ C++?
xấu, tôi nghĩ bạn nói đúng. Tôi không có thời gian để kiểm tra xem câu trả lời đầu tiên có hiệu quả hay không. Nó nhắc tôi rằng những thứ như "dword" đã tồn tại, vì vậy tôi cho rằng nó sẽ giải quyết được vấn đề. –