C++ 用C++;可以使Windows 8应用程序不在ARM上运行吗?
在构建Windows8应用程序时,开发人员可以选择HTML/JavaScript、XAML/.Net(C#/VB)和XAML/C++。我想用XAML/C++编写我的应用程序 在前两个选项中构建应用程序几乎可以保证您的应用程序将在Intel和ARM体系结构上执行 <>但是我听说如果我在C++应用程序中做了某些事情,我会导致应用程序在ARM体系结构上不执行。但我不知道细节C++ 用C++;可以使Windows 8应用程序不在ARM上运行吗?,c++,windows-8,microsoft-metro,C++,Windows 8,Microsoft Metro,在构建Windows8应用程序时,开发人员可以选择HTML/JavaScript、XAML/.Net(C#/VB)和XAML/C++。我想用XAML/C++编写我的应用程序 在前两个选项中构建应用程序几乎可以保证您的应用程序将在Intel和ARM体系结构上执行 但是我听说如果我在C++应用程序中做了某些事情,我会导致应用程序在ARM体系结构上不执行。但我不知道细节 是否有人知道C++ Windows 8应用程序应该避免什么,以便他们可以运行在ARM好吗?这些是架构决定还是仅仅是技术上的差异?我不
是否有人知道C++ Windows 8应用程序应该避免什么,以便他们可以运行在ARM好吗?这些是架构决定还是仅仅是技术上的差异?我不知道有什么会使您的代码无法在ARM下执行或编译(内联汇编除外) 然而,你可以做一些事情,这会让ARM给出错误的答案 ARM处理器是“弱有序”的。这篇最新的文章为您提供了最基本的信息
但总而言之,ARM处理器可能会对内存访问进行重新排序,如果您不小心,这可能会在多线程应用程序中的x86和ARM体系结构之间产生不同的结果。ARM仅支持Windows应用商店应用程序 系统要求 支持的体系结构:Windows SDK for Windows 8支持 为以下体系结构构建应用程序:x86 x64 ARM (Windows应用商店应用程序)注意:无法安装Windows 8的Windows SDK 直接安装在ARM架构上。您可以安装 在x86或x64平台上安装Windows SDK,以便构建应用程序 目标是ARM架构
为了在每个体系结构上运行,您首先需要为每个体系结构编译。如果编写标准C++(如果不依赖于未定义的行为和/或平台特定的行为),那么在架构之间移植时通常会引起麻烦的事情是: (此列表是一个示例)
- int、long、long-long(以及其他)的大小在不同平台之间可能有所不同
- 字符的符号性
- 如何填充结构
- 浮点数的二进制布局
- 持久性
- 等等
如果你不使用疯狂的指针运算和强制转换,通常你是安全的。MFC应用程序不会在基于ARM的Windows 8系统上运行 <>你可以用C++来构建地铁风格的应用程序,你只需要遵循地铁“风格”的指导原则。
如果希望所有程序都支持基于ARM的Windows 8系统以及基于x86的系统,请将程序更改为使用HTML/CSS或XAML和WinRT API,而不是MFC和Win32 API。
cpp
是一个文件扩展名,您可能是指C++。AFAIK——任何使用Metro编写的应用程序都应该在Windows 8平台上工作。如果您只使用现代UI配置文件,您应该是可以的。你需要宽宏大量,我们才能真正帮助你。你的问题不清楚,问某个东西是否是“FUD”,这是一个讨论话题,有点适合Stackoverflow。看看如果你不为ARM编译,它就不能在ARM上运行。JS和.Net不直接编译为机器代码,因此这些语言的应用程序可以在任何体系结构上运行。