- 924 名前:デフォルトの名無しさん [2014/02/04(火) 14:55:12.47 ]
- 質問です
Win8pro64bit VC++2008Express で以下のコードを実行したとき 1行目と2行目が同じ値になるのを期待したのですがそうならないのは何故ですか? #include <stdio.h> int dummyfunc(int a) { __asm{ mov eax, [esp+0] mov a, eax } return a; } int testfunc(int a) { fprintf(stdout, "%08x\n", dummyfunc(a)); __asm{ mov eax, [esp+0] mov a, eax } return a; } int main() { int i; unsigned char *func = (unsigned char *)testfunc; fprintf(stdout, "%08x\n", func); fprintf(stdout, "%08x\n", testfunc(0)); for(i = 0; i < 80; ++i) fprintf(stdout, " %02x,", func[i]); return 0; }
|

|