将main、WinMain封装
2017-04-14 09:06
267 查看
前两天想给自己的工程弄一个类似Qt的QApplication的类,可以从main进入,然后一个QApplication实例帮我们把脏活都做完,不用管平台差异。Mainwindow实例创建窗口,也不用干脏活累活。
上网查了查,相关的主要有两个方式
一、Qt式( http://blog.csdn.net/tingsking18/article/details/4737925 )
效果:
如果没有用平台相关的东西,用Qt写的代码可以直接在不同平台编译运行。
代码像这样
很方便,没有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里调用虚函数吧。
上网查了查,相关的主要有两个方式
一、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里调用虚函数吧。
相关文章推荐
- 杂谈之封装main或WinMain启动函数
- 从main到WinMain
- 黑马程序员——Java基础---面向对象(面向对象,类,对象,匿名对象,封装,构造函数,构造代码块,this,static,main,帮助文档,静态代码块,单例)
- C++ 程序启动入口函数main还是winmain?
- 无法解析的外部符号 WinMain,该符号在函数 "int __cdecl invoke_main(void)" (?invoke_main@@YAHXZ) 中被引用
- _tmain与main,winMain,wmain收藏
- 把WinMain封装到dll里
- main,tmain,winmain()等函数——UNICODE
- 把WinMain封装到dll里
- 到底是main还是WinMain?
- 试过将main() 和 WinMain()函数放在.h文件中码?
- WinMain中的Console与main中的Window
- MFC封装WinMain的原理
- error LNK2019: 无法解析的外部符号 WinMain,该符号在函数 "int __cdecl invoke_main(void)”中被引用
- 把WinMain封装在lib里
- WinMain和main
- 关于不同的程序入口,main(), _tmain(),WinMain(),wmain()?
- main,tmain,winmain()等函数——UNICODE - sensensen - 博客园
- 关于不同的程序入口,main(), _tmain(),WinMain(),wmain()?
- 使用sqlite3(数据库知识)的接口函数完成一个用户注册功能模块设计 要封装成函数,在独立的main中调用测试