Tôi đang cố gắng tăng giá trị số bằng cách sử dụng lắp ráp nội tuyến trong C++. Lý do tôi làm theo cách đó là thực hành kỹ năng "lắp ráp nội tuyến" của tôi.Thay đổi giá trị số bằng cách sử dụng lắp ráp nội tuyến trong C++
Vâng đó là những gì tôi đã thực hiện cho đến nay:
void main()
{
int x;
cout << "Please enter a number ";
cin >> x;
cout << "The number you entered is: " << x << "\n";
foo(&x);
cout << "The new number is: " << x;
cin >> x;
}
void foo(int *x)
{
__asm
{
inc [x]
};
}
Và giá trị không bao giờ thay đổi.
Bạn đang sử dụng trình biên dịch nào? MSVC? – Cameron
Microsoft Visual Studio 2012 –
Bạn có thể muốn tháo rời mã đã biên dịch và xem nó có làm những gì bạn mong đợi không. Tôi đã nhìn thấy loại điều này đi sai do quá ít hoặc quá nhiều. Bạn có thể tăng 'x' thay vì' * x'. –