Разглобих този код
int main{
vector<string> temp;
}
Резултатът е този
LEA ECX, %16I64X DWORD PTR[EBP + temp]
CALL std::vector<std::basic_string<char, std::char_traits<char>, std::
Въпросите ми са:
Какво прави %16I64X тук.
какво означава редът "std::vector, std::". Знам, че инструкцията CALL извика това, но тази, която беше извикана, няма смисъл. Това I/O пренасочване ли е?
Просто съм объркан от логиката на разглобяването, защото зарежда ефективния адрес и след това го извиква. Очаквам нещо като първо да преместя нещо в конкретен адрес, след което да заредя неговия ефективен адрес и след това да го извикам.
*Тук съм само начинаещ. Благодаря ви за търпението.
%16I64X
изглежда така, сякаш казва на асемблера да използва късото от (с 8-битово изместване) на инструкциятаlea
. - person Gunther Piez   schedule 28.03.2012