c++ - Metro Windows 8 C++ 应用程序可以包含内联汇编器吗?

标签 c++ windows-8 windows-runtime inline-assembly microsoft-metro

Metro Windows 8 应用程序可以包含内联汇编器吗? Metro C++ 是 native 的还是托管的,或者您可以像 C++/CLI 一样混合使用它们吗?

最佳答案

Metro 风格的应用程序使用 WinRT,它是基于 COM 的旧 WinAPI 的替代品。您可以创建自己的 WinRT 组件,这些组件可以在 .NET 甚至 JavaScript 中使用 - 而且您无需付出额外的努力。至于现有的 C++ 代码,请注意,WinRT 中仅提供了 Win32 的一个子集。

enter image description here

无论您使用 C/C++、C# 还是 JS 编写代码,当您使用 WinRT 时,您都不会直接调用 WinRT,而是通过一个名为 projection 的绑定(bind),它负责将 WinRT 组件适本地暴露给其他语言。

enter image description here

“Metro Windows 8 应用程序可以包含内联汇编器吗?”
您可以将汇编语言指令直接嵌入到您的 C 和 C++ 代码中,因为您的编译器允许您这样做。将内联汇编程序视为一组编写为内联函数的汇编指令,它们内置于编译器中。您使用 WinRT 的事实与此无关。

可能对你有帮助的问题:
Why is WinRT unmanaged?
C++, C# and JavaScript on WinRT
What are WinRT language projections?

关于c++ - Metro Windows 8 C++ 应用程序可以包含内联汇编器吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11056517/

相关文章:

c++ - 没有从 'Foo' 到 'Foo *const' C++ 的可行转换

c++ - g++ 没有在调试信息中编译

c# - 有没有办法调整其内容的边框大小? (Winnrt Xaml)

c# - "Windows.System.Launcher"不启动写字板

C++,是否可以直接调用构造函数,而不需要new?

c++ - 如何在 Ubuntu 16.04 中安装 MySql Connector/C++

windows-8 - WinRT HttpClient 阻止启动画面

c# - 如何在没有物理硬件的情况下利用多显示器设置的功能?

exception - 在意外的时间调用了一个方法

整个解决方案中使用的 C# 字符串常量集合,HOW?