(菜鸟)了解一下MFC程序如何进入WinMain的
我看孙鑫第三节课视频,执行流程先是建全局对象theApp,然后CTestApp构造函数,在CWinApp构造函数,然后就很奇怪的到WinMain了,怎么进去的还真不知道!...
我看孙鑫第三节课视频,执行流程先是建全局对象theApp,然后CTestApp构造函数,在CWinApp构造函数,然后就很奇怪的到WinMain了,怎么进去的还真不知道!
我想问执行WinMain前是不是有代码去调用它呢 展开
我想问执行WinMain前是不是有代码去调用它呢 展开
2个回答
展开全部
WinMain()跟main()函数一样,是用run time自己调用的。
C++程序启动的顺序是这样的:
1. 构造全局对象。在MFC程序里,theApp就是全局对象。因为theApp的类型是CTestApp,所以CTestApp的构造函数会被调用
2. 调用main()或者WinMain()。如果是MFC程序,会默认提供一个WinMain()函数的实现,你不需要自己另外写。如果你自己另外写一个WinMain(),会引起Link Error。
以上两步都是C++ Run Time做的,不需要你自己写什么代码。你可以认为C++就是这么规定的。
补充:
是,有代码去调用它。但是这些代码不需要你来写,对你来讲也没有什么意义。这些代码属于runtime
C++程序启动的顺序是这样的:
1. 构造全局对象。在MFC程序里,theApp就是全局对象。因为theApp的类型是CTestApp,所以CTestApp的构造函数会被调用
2. 调用main()或者WinMain()。如果是MFC程序,会默认提供一个WinMain()函数的实现,你不需要自己另外写。如果你自己另外写一个WinMain(),会引起Link Error。
以上两步都是C++ Run Time做的,不需要你自己写什么代码。你可以认为C++就是这么规定的。
补充:
是,有代码去调用它。但是这些代码不需要你来写,对你来讲也没有什么意义。这些代码属于runtime
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询