winmain函数怎么打开

winmain函数怎么打开... winmain函数怎么打开 展开
 我来答
wangzitao_001
2010-04-21 · 超过14用户采纳过TA的回答
知道答主
回答量:31
采纳率:100%
帮助的人:0
展开全部
楼主你好!

关于c 和 c++语言 程序的入口函数是int main()函数.
当我们编译运行一个c(c++)文件,编译器提供了几个重要的工具cl.exe link.exe.
编译器将文件装载,用cl来翻译库文件生成obj文件,再调用link来链接库文件(crt C Runtime)
生成exe文件.
程序运行是这样的流程:双击exe.这个时候系统shell会收到消息.为该应用程序做一些准备工作

:产生进程,主线程并分配内存空间等.当产生主线程时候这个时候就会调用main函数进入程序.

执行代码体.

对于MFC来说,我们看不到main函数是因为MFC用另外的方法对其进行的包装.
程序流程:双击exe.系统shell收到消息.为该应用程序做一些准备工作:
产生进程,主线程并分配内存空间等.注意CDemoWinApp(自定义的一个为Demo的工程)刚好是

CWinThread继承而来.因此程序首先是调用了CDemoWinApp中一个全局变量theApp.接着初始了

CDemoWinApp(),然后就进入到传说中WinMain函数.但此时在APPMODUL.CPP中(MFC库文件)会看到

是_tWinMain().然后调用AfxWinMain()该函数的声明在WINMAIN.CPP中.接着调用 AfxWinInit()

函数(在APPINIT.CPP中)进行初始化工作.接着往下看啦,AfxInitThread()函数(THREADCORE.CPP

中).接着做一个消息的勾子.然后会调用我们所熟悉InitApplication().InitInstance()这又回

到我程序中.接着从InitInstance往下运行

楼主可以自己去那些CPP文件去设断点.然后跟踪看看.就会发现MFC是非常的强大及其狡猾的.

希望对楼主有帮助,如果有疑问,可以在线留言!
cmnull
2010-04-21 · TA获得超过310个赞
知道小有建树答主
回答量:102
采纳率:0%
帮助的人:145万
展开全部
WinMain() 相当于 c 下面的 main 函数,它是每个程序的入口。
它由系统自动调用
每当你通过双击程序图标或者在 cmd 输入程序命令行等方式来启动程序时:
首先系统的“外壳 shell —— 在 Windows 中即资源管理器”会侦测你的启动程序的请求
shell 此时会调用程序加载器把程序加载到内存中
然后系统调用 C startup code (C runtime 功能)
C startup code 最后调用程序里面的 WinMain() ,此时程序里面的代码才开始被系统逐行执行,程序正式启动。

不知道 LZ 是不是想这知道这方面的内容呢?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式