我有一个c++工程,别人写的,里面怎么找不到main或winmain函数?
程序可以执行?从哪里开始执行的呢?入口在哪里?是mfc的,假如给封装起来的话,那个工程编译后从哪里开始执行?从哪里开始执行是可以自己控制的吧?怎么控制?是不是跟这两句有关...
程序可以执行?从哪里开始执行的呢?入口在哪里?
是mfc的,假如给封装起来的话,那个工程编译后从哪里开始执行?从哪里开始执行是可以自己控制的吧?怎么控制?
是不是跟这两句有关?:
ON_COMMAND(ID_FILE_NEW, CWinApp::OnFileNew)
ON_COMMAND(ID_FILE_OPEN, CWinApp::OnFileOpen) 展开
是mfc的,假如给封装起来的话,那个工程编译后从哪里开始执行?从哪里开始执行是可以自己控制的吧?怎么控制?
是不是跟这两句有关?:
ON_COMMAND(ID_FILE_NEW, CWinApp::OnFileNew)
ON_COMMAND(ID_FILE_OPEN, CWinApp::OnFileOpen) 展开
3个回答
展开全部
简单说:
(1)MFC用AfxWinMain代替了原来C编程中的WinMain();
(2)AfxWinMain()是MFC已经帮你写好了,并由Windows系统调用,不用你写了;
(3)在AfxWinMain()被执行之前,需要有了一个CWinApp类全局对象,由你自己建立;
(4)而CWinApp类是CWinThread类的派生类,而且当前的CWinApp类全局对象(这个对象有且只能有一个),然后Windows系统启动你的程序,调用AfxWinMain(),AfxWinMain()中通过调用全局函数AfxGetApp()来得到指向你建立的CWinApp对象的指针(MFC先编好的AfxWinMain()函数可以调用你自己后来建立的对象,这是C++的特性)。
这样MFC程序先建立应用程序对象,然后将内部准备好的WinMain()与之连接,执行一系列动作,从而使程序运行。
ON_COMMAND(ID_FILE_NEW, CWinApp::OnFileNew)
ON_COMMAND(ID_FILE_OPEN, CWinApp::OnFileOpen)
是消息映射,与WinMain无关,这两句是将ID_FILE_NEW和ID_FILE_OPEN两个句柄与创建新文件和打开文件函数关联。
(1)MFC用AfxWinMain代替了原来C编程中的WinMain();
(2)AfxWinMain()是MFC已经帮你写好了,并由Windows系统调用,不用你写了;
(3)在AfxWinMain()被执行之前,需要有了一个CWinApp类全局对象,由你自己建立;
(4)而CWinApp类是CWinThread类的派生类,而且当前的CWinApp类全局对象(这个对象有且只能有一个),然后Windows系统启动你的程序,调用AfxWinMain(),AfxWinMain()中通过调用全局函数AfxGetApp()来得到指向你建立的CWinApp对象的指针(MFC先编好的AfxWinMain()函数可以调用你自己后来建立的对象,这是C++的特性)。
这样MFC程序先建立应用程序对象,然后将内部准备好的WinMain()与之连接,执行一系列动作,从而使程序运行。
ON_COMMAND(ID_FILE_NEW, CWinApp::OnFileNew)
ON_COMMAND(ID_FILE_OPEN, CWinApp::OnFileOpen)
是消息映射,与WinMain无关,这两句是将ID_FILE_NEW和ID_FILE_OPEN两个句柄与创建新文件和打开文件函数关联。
展开全部
MFC……这个你可以看下孙鑫的VC视频第三讲——讲述MFC AppWizard的原理与MFC程序框架的剖析,不过我估计你会听到睡着。至少我是一听就睡着,因为实在听不懂。
展开全部
可能被宏定义了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询