我不知道如何在x86中访问stl向量。我试图这样做,但我有一些错误。
mov ebx, stl_vector
mov eax, [ebx] ;Here I want to store the first element of the vector
mov edx, [ebx + 4] ; I want to store the second element of the vector
我想用SSE语言做同样的事情。
提前谢谢!
答案 0 :(得分:4)
stl向量是对象。除非您知道确切的类布局,否则无法直接访问它们。您应该将指向数组的指针和大小分别传递给汇编函数,例如: asm(vector.data(), vector.size())
所以编译器会处理c ++的东西。