如何用C++编写现代Windows软件?

bod*_*ydo 13 c++ windows api wtl

我对现代Windows软件如何用C++编写非常感兴趣.我问过曾经从事Windows软件工作的朋友,他告诉他最后的工作是MFC,然后是WTL.他说MFC不再是现代的,但仍然使用WTL,但他不太了解.他还说WTL不是那么现代,在此之前他用纯Windows API编程.

如何为Windows Vista或Windows 7编写软件?你还在使用WTL吗?那么MFC和纯Windows API呢?或者现在有其他图书馆吗?

我不太了解它,但是在编写现代Windows软件时,C#还是其他.NET语言取代了C++?

Han*_*ant 14

从我过去几年看到的情况来看:

  • WTL是一条生命线.由微软放弃,被粉丝接收,并有几个非常忠诚的粉丝.非常干净,但学习曲线陡峭,风扇基座逐渐缩小.雅虎集团不是很活跃.我不能推荐它.

  • 当MSFT发布功能包时,MFC再次获得了生命.相当广泛,有点不MFC-ish,它强大支持蒙皮,对接布局和色带.我认为它会非常受欢迎,但从来没有看到很多开发者跳上它.MSDN论坛问题一直很少.如果你有一个现有的MFC代码库,那么一定要看看.VS2010的另一个MFC刷新增加了Win7功能,它确实保留了公司的基本UI解决方案.

  • wxWidgets仍然存在.没有亲身经历,但主啊,我听过的少数修炼者正在掀起风暴.真正的苦涩的东西.

  • Qt已经存在了很长一段时间,但相当频繁,特别是在去年.谁使用它真的很喜欢它.它正在超越UI类库的范围,他们的用户正在积极寻找以字母Q开头的常见编程任务的解决方案.这是一个强大的信任投票.

但是,如果您使用的是Microsoft堆栈,则这些类库中没有一个是真正的UI开发所在.WPF是房间里的大象,它的能力比上面列出的要大一百英里.它破坏设备和范例边界的能力是强大的,编写在桌面上运行的代码以及Web浏览器和手机都很难被击败.但是C++不是其中的一部分.

  • 我一直使用Qt,它确实是现代C++开发的所在. (2认同)

Cos*_*ert 12

WTL, Qt, wxWidgets非常常见.

  • 它们都允许快速的GUI开发,并且非常通用(第三种选择,在我看来,需要更多的时间来习惯).第二和第三种选择非常酷,因为它们是跨平台的.

  • 在纯WinAPI中编写窗口非常古老,但有时可能很有趣.

  • C#与之前的选项相比,构建窗口的方法更加快速,但灵活性稍差.


Dir*_*tel 9

看看Qt - 你可能会喜欢它.除非您更喜欢非便携版本.但即使你不打算在OS X,Linux,手机上构建......,Qt框架编写得很好,有很好的文档记录,只是有效.SDK现在也包含一个不错的IDE(Qt Creator).


Jan*_*n S 8

如果您的主平台是Windows,则每次都有WTL.Google Chrome使用它,Spotify使用它.它最高效,最灵活,不是资源匮乏.灵活的我的意思是你可以使用它与纯Win32 API代码/其他C++代码没有太大的困难.

有关更多WTL信息:WTL链接的集合