我写了两个程序,一个 (p1.cpp) 每 1 秒打印一次变量的值和地址。
// p1.cpp
int main() {
int x = 13;
int *p = &x;
while (true) {
cout << " value of x: " << *p << " addr: " << p << endl;
sleep(1);
}
}
Run Code Online (Sandbox Code Playgroud)
另一个 (p2.cpp),我手动将指针指向 p1.cpp 打印的位置并更改值。
//p2.cpp
int main() {
int *p = (int*)0x61ff08; // this is manually set and compiled.
cout << "value of p from p2.cpp : " << *p << endl;
*p = 10;
}
Run Code Online (Sandbox Code Playgroud)
但是,在运行 p1.cpp、设置位置并运行 p2.cpp …