我可以使用 DXL 门内的地址来设置变量的值吗?

Can I set the value of a variable by using the address within DXL doors?

所以我想做的是通过地址将变量传递给 eval_,然后像这样在其中设置变量:

string str = "a"
Addr64_ addr = addr_ str
eval_("string ref = addr_ " addr "; ref = \"b\"")
print str // I want it to print b here

我知道我可以 evalTop_ 在这里让 top 变量对 eval 可用,这样它就可以设置它,但这不是我想要的行为。

经过大量调试并结合来自以下来源的不同答案:

Memory hacks 1

Memory hacks 2

我找到了解决办法!以下代码基本上适用于任何变量:

bool a = false
eval_("bool &a = addr_ " (addr_ (&a)) "; a = true")

print a // should print true