WinRT新式C++17windowsAPI会是未来吗?


说实话,我个人是很讨厌WinRT的,这玩意引入到项目之后,VS会有很长一段时间都在分析这东西,语法高亮之类的东西会直接消失,要分析很长一段时间,尤其是每次我打开项目后,我所有的源文件有很长一段时间全部都是标红的,而且这玩意加入之后,我的项目的编译时间足足增长了两倍。如果你们有兴趣拿IDA反编译一下WinRT生成的可执行文件,一看到伪代码你们就能感受到那种浆糊一样的味道
而且说实话这东西不可能比Windows运行时(WRL)快的,最主要还是它缓存了接口的指针,不需要每次都RoGetActivationFactory等一系列函数获取,所以它最大的特点就是高度封装,你甚至都不知道这些原始的接口是怎么获取到的,因此它也确实是处理了一大部分的繁杂的工作,对开发效率的提升还是很有帮助的,上图是用WRL手动编写的(很久之前写的卢瑟代码,轻喷),用WinRT的话10行左右就搞定了