我有兩個名爲TestFunc和TestFunc2的空函數,我將它們的地址分配給兩個變量。指針的值與指定的值不同
void TestFunc()
{
}
__declspec(naked) void TestFunc2()
{
}
int main()
{
DWORD* test = (DWORD*)TestFunc;
DWORD* test2 = (DWORD*)TestFunc2;
printf("TestFunc is %p at test is %p\n", TestFunc, test);
printf("TestFunc2 is %p at test2 is %p\n", TestFunc2, test2);
getchar();
}
賦值後,兩個變量的值實際上與它們的賦值不同。
但是,在printf語句中,輸出顯示它們是相同的。任何想法爲什麼會發生?
什麼是TestFunc和TestFunc2?功能?會員功能?變量?還有別的嗎?請嘗試創建[最小化,完整和可驗證示例](http://stackoverflow.com/help/mcve)並向我們顯示。 –
我的不好,確實沒有。我打算使用DWORD *代替。但我的問題仍然存在,變量的值與他們分配的值不同。我在帖子中提到,TestFunc和TestFunc2是函數。 – eXPerience
@eXPerience是調試還是發佈bulid?你在手錶的什麼位置看? – Amomum