This question already has an answer here:
c++ function addresses coming out different in attached profiler library than in the subject code base
(1个答案)
3年前关闭。
我想要变量中&add1的值。我尝试了this answer,的建议,但没有给出我期望的结果。
此时,add1Address等于
但是我的调试器(和用HxD检查内存)告诉我&add1 =
这是怎么回事
完整代码如下
我在debugger中看到的是在这里
(1个答案)
3年前关闭。
我想要变量中&add1的值。我尝试了this answer,的建议,但没有给出我期望的结果。
uintptr_t add1Address = reinterpret_cast<uintptr_t>(&add1);
此时,add1Address等于
11669784
,即0x00B21118
但是我的调试器(和用HxD检查内存)告诉我&add1 =
0x00B217C0
这是怎么回事
完整代码如下
#include "stdafx.h"
#include <iostream>
int add1(int num, int num2);
int add1(int num, int num2)
{
return num + num2;
}
int main(void)
{
uintptr_t add1Address = reinterpret_cast<uintptr_t>(&add1);
std::cout << std::hex << add1Address;
}
我在debugger中看到的是在这里
最佳答案
让我大胆猜测。
这是因为也许您有增量链接。
看看这个:c++ function addresses coming out different in attached profiler library than in the subject code base
07-24 15:39