将main、WinMain封装
前两天想给自己的工程弄一个类似Qt的QApplication的类,可以从main进入,然后一个QApplication实例帮我们把脏活都做完,不用管平台差异。Mainwindow实例创建窗口,也不用干脏活累活。
上网查了查,相关的主要有两个方式
一、Qt式( http://blog.csdn.net/tingsking18/article/details/4737925 )
效果:
如果没有用平台相关的东西,用Qt写的代码可以直接在不同平台编译运行。
代码像这样
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();
return a.exec();
}
很方便,没有Windows创建一个窗口那么多事。。
而且是从main进入。(看起来)
主要思路: 例如Windows,Qt提供WinMain,然后用宏把我们写的main换个名字,在WinMain里调用我们的main。然后就好说了,自己提供的WinMain,想怎么搞怎么搞。注意一些细节。
二、MFC式(我没用过MFC,不确定)
(http://blog.csdn.net/gamewyd/article/details/6868428
http://blog.csdn.net/i_dovelemon/article/details/51114095
http://blog.csdn.net/liqunsoft/article/details/7161422)
效果:
连main都不用,继承MFC提供的App类,然后按MFC的方式重写好它的函数,找个地方把我们的App类创建一个实例,程序就可以运行了
主要思路:
全局变量会在 入口函数 之前构造。 MFC自己提供WinMain。
具体细节我也不懂,可能是App基类可以记录创建的实例,然后再WinMain里调用虚函数吧。
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: WinMain的基本流程
- 下一篇: 1.封装WinMain至动态链接库