我具有具有以下定义的内联汇编函数:
void __declspec(naked) func()
{
__asm
{
//...
JMP [address]
//...
}
}
此地址变量仅在运行时才知道,主要我有:
int main()
{
//...
DWORD address = getAddress();
func();
//...
}
那样,代码将不会出现以下错误消息:
错误C2094:未定义标签'地址'
我无法将地址作为参数传递给func()
函数,该如何解决此问题?
我可以在名称空间中定义地址吗?好的做法吗?可以使用名称空间来扩展变量的范围(在不同的函数/作用域中使用此变量)吗?
您在C ++中,当您在堆栈中保留具有类实例的块时,必须调用析构函数,而JMP则不会这样。