牛骨文教育服务平台(让学习变的简单)
博文笔记

将main、WinMain封装

创建时间:2017-04-14 投稿人: 浏览次数:137

前两天想给自己的工程弄一个类似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里调用虚函数吧。

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。