vendredi 24 novembre 2017

C++11 pointer address doesn't match after casting, very strange

I have a function named odb_add: enter image description here

this function's first statement case a sodict_snode_t * to _inl_snode_t*, but the pointer address changed after casting! Here is the GDB debug trace:

enter image description here

and, here is the assembly code of function odb_add: enter image description here

So, Why the pointer address changed after casting? Please help!

Aucun commentaire:

Enregistrer un commentaire