请有人能解释一下为什么当我这样做的时候
dumpbin /disasm "C:\simple_Win32.exe" >> "C:\users\piter\myDump5.txt"
我看不到我的例程的名称,只能看到 eax、ebx、mov 和其他“不是我的”函数(预处理器宏等)。即在下面的例子中,我们有汇编代码和函数名:
.text:00403D89 lea eax, [ebp+SystemTimeAsFileTime]
.text:00403D8C push eax
.text:00403D8D call ds:__imp__GetSystemTimeAsFileTime@4
.text:00403D93 mov esi, [ebp+SystemTimeAsFileTime.dwHighDateTime]
.text:00403D96 xor esi, [ebp+SystemTimeAsFileTime.dwLowDateTime]
.text:00403D99 call ds:__imp__GetCurrentProcessId@0
.text:00403D9F xor esi, eax
.text:00403DA1 call ds:__imp__GetCurrentThreadId@0
.text:00403DA7 xor esi, eax
.text:00403DA9 call ds:__imp__GetTickCount@0
.text:00403DAF xor esi, eax
.text:00403DB1 lea eax, [ebp+PerformanceCount]
.text:00403DB4 push eax
.text:00403DB5 call ds:__imp__QueryPerformanceCounter@4
.text:00403DBB mov eax, dword ptr [ebp+PerformanceCount+4]
.text:00403DBE xor eax, dword ptr [ebp+PerformanceCount]
.text:00403DC1 xor esi, eax
.text:00403DC3 cmp esi, edi
.text:00403DC5 jnz short loc_403DCE
那么如果我的代码是:
#include <iostream>
int Foo(int,int){return 4;}
int main(){
//std::cout<<"\n\nHello.\n\n"<<std::endl;
int i=Foo(2,4);
int a=i;
//system("pause");
return 0;
}
为什么我在此代码 exe 产生的程序集中找不到 Foo?
我应该可以在那里找到名字 Foo 吗?