我可以使用纯本机C 为Windows 8 Metro编写应用程序
Can I use pure native C++ to write apps for windows 8 metro?
使用本机C ,我的意思是,不是管理C ,不是CLI,不是Microsoft的任何特殊内容,我可以:
1)获得高性能2)使用现有的C 代码库和引擎3)编写跨平台代码(例如,对于iOS和Android)
它不必完全是本机C ,我可以使用托管代码来执行UI操作,例如Android中的iOS和Java中的Object-C,但是在接口之外,我可以使用本机C 代码吗?
我建议您在此处查看演示文稿:使用C 的Windows运行时,尤其是在Herb Sutter的评论中。我引用:
请回答此问题:如果我决定编写C GUI应用程序 以Metro风格,我被迫使用所有这些专有裁判,密封, ^,平台:: string^ GUI组件的扩展?
@Tomas:不,您不得被迫使用它们。我们提供两个 支持的方式:
1)这些语言扩展(C /CX)。
2)A C 模板库(WRL),请参阅 如Yannick所述,Windows套件 8.0 include winrt wrl。WRL是C 基于图书馆的解决方案沿ATL的行,提供 我认为您正在寻找的 - 模板包装/便利 课程和明确的智能指针等。
是的,您绝对可以,真正的本机C 得到了完全支持。
但是,您确实必须使用新的WinRT库来执行用户界面或系统调用,尽管它们是本机代码,并且直接从C 直接可呼叫,但它们的界面确实使他们确实很痛苦,因为一切都是如此一个参考计数的com对象,此外,创建它们的实例并不容易,就像称为" new",因此您必须编写丑陋代码的 lot 才能做到这一点。
正如较早的答案所述,微软提供了两种帮助解决方面的方法。一种是通过语言扩展到C ,另一个是C 模板库。我个人认为这两者都很难做一些简单的事情,就像打电话给API一样,但这只是我:)
但是,为了回答您的问题,完全有可能将您的应用程序编写在真实的本机C 中。您根本不需要使用托管代码。但是您可能需要使用语言扩展名或模板库使调用API更容易。
我个人希望有人为WinRT编写包装器,该包装将最必要的功能作为更可用的C 本地库,然后每个人都可以从C 中使用它...
- 如何在 Windows 8 中的桌面应用程序中访问 Metro 应用的本地存储?
- 我可以使用纯本机C 为Windows 8 Metro编写应用程序
- 如何在c++metro应用程序中进行HTTPPOST/GET
- 在Windows 8 metro应用程序上同步两个ppl任务
- 在Windows 8 Metro应用程序中打开外部SQLite数据库
- 列出在Windows 8上使用Windows UI Automation的Metro应用程序的所有UI元素
- 如何为IWICBitmap创建ID2D1DeviceContext?(适用于C++中的Metro应用程序)
- WinRT/Metro样式应用程序中基于ATL的COM对象
- 如何检测是否在 Windows Metro 应用程序进程中运行
- C++ Metro 应用程序教程的编译错误 - 任务继续
- 类似于Windows 8下Metro风格应用程序的功能
- 获取正在运行的metro应用程序的进程id
- 使用C#XAML Metro风格应用程序中的DirectWrite
- 如何在Metro应用程序中用C++在Visual Studio 11中打印到控制台/日志
- 在c++, Windows Store Metro应用程序中设置控件的颜色
- 在c# Metro应用程序中使用c++ CLR库
- Metro风格的应用程序与DirectX部分
- 合并声音文件音频和记录在寡妇8 Metro Windows Store应用程序
- 如何使用WinRT在Windows 8 Metro应用程序中播放声音文件
- 一种不使用XAML关闭DirectX Metro应用程序的方法