假设我有以下内联汇编代码...
_asm {
fst dword ptr [eax]mystruct1.mymember
fstp dword ptr [ebx]mystruct2.mymember
}
...但是不幸的是,mystruct1和mystruct2都具有相同的名称,并且位于不同的命名空间中。我这样尝试过...
_asm {
fst dword ptr [eax]mynamespace1::mystruct.mymember
fstp dword ptr [ebx]mynamespace2::mystruct.mymember
}
...但是它不起作用。是否可以在不使用c++ using语句的情况下以某种方式指定 namespace (无论如何都将不起作用,因为您将需要在操作之间更改使用的 namespace )?
不,我不能更改 namespace ,结构或成员名称。
最佳答案
一种解决方案是创建引用,并使用该引用:
MyStruct& ms = mynamespace1::mystruct;
_asm {
fst dword ptr [eax]ms.mymember
fstp dword ptr [ebx]ms.mymember
}
我不知道这是否可行。