MFC的问题
请问各位高手,mfc程序并没有主函数,那他是怎么执行的呢?是从窗口创建开始就执行吗?还是和BEGIN_MESSAGE_MAP这个东西有关?上网看是什么消息传递机制 有没有大牛详细说说??谢谢了!!!
[解决办法]
MFC当然也有main函数,只不过被封装在了APPMODUL.CPP 文件中,你看不到罢了。
WinMain函数在 APPMODUL.CPP 中是这样定义的
extern "C" int WINAPI
_tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPTSTR lpCmdLine, int nCmdShow)
{
// call shared/exported WinMain
return AfxWinMain(hInstance, hPrevInstance, lpCmdLine, nCmdShow);
}
其中 _tWinMain 是一个宏,在TCHAR.h中定义的,定义如下
ANSI字符
#define _tWinMain WinMain
UNICODE字符
#define _tWinMain wWinMain
[解决办法]
谁告诉你没有main呢?
只是mfc的框架帮你封装好了
你可以打开\VC\atlmfc\src\mfc下的winmain.cpp文件看看,里边有个AfxWinMain函数,这就是了
[解决办法]
window程序是从winMain作为程序入口,而MFC中采用CWinApp类替代了WinMain的地位,在CWinApp中InnitApplication();InitInstance();int Run();这三个函数来完成WinMain()的工作,在初始化完后进入消息机制进行处理。
[解决办法]
去看看孙鑫的书吧
[解决办法]
[解决办法]
谁说MFC 没有WINMAIN函数 只要是windows程序 都有WINMAIN函数函数的,因为WINMAIN函数是windows程序的入口。只不过被MFC封装到了WINAPP类中,其中InnitApplication();InitInstance();int Run()3个函数完成了win32 程序中的winmian函数。。如果你想详细了解是怎么个过程可以去看 侯捷的深入浅出MFC 讲得很详细的。。。
[解决办法]
全局对象theApp
[解决办法]
在搞懂MFC之前,建议你先弄懂windows应用程序机制,有一个程序入口,叫winmain......