VC++编程中主函数即main函数在哪或者程序从哪里开始运行?

VC++编程中主函数即main函数在哪或者程序从哪里开始运行?,第1张

VC++到VS中以后:

从main函数开始,没有main从wmain开始wmain是main的扩展(支持Unicode字符,比如你要给你的程序传参为Unicode字符的话)

不同的是很多编程时都把main或wmain给隐藏了,留下的是另一些主函数,但这些假的主函数名要么是#define

为main或wmain

窗口程序de主函数是WinMain或wWinMain(),同样也常被隐藏掉

MFC编程中

主函数是AfxWinMain()

而AfxWinMain()也是由WinMain()函数调用的,并且WinMain()所有的功能就是调用了AfxWinMain()

简单说:

(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两个句柄与创建新文件和打开文件函数关联。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/12179266.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存