微软
应用程序兼容性
如果您不熟悉基于骁龙平台的Windows,请查看 Microsoft 为开发人员提供的大量文档,可以先从ARM上的 Windows 10应用程序和体验开始。
当用户将您的应用从 Microsoft Store 安装到运行在骁龙设备上的Windows时,将自动安装 ARM/ARM64 版本(如果可用的话)。这为您的用户提供了高性能和高效率,并简化了应用程序安装器的分发。
一、开发和移植到 ARM
许多消费者应用程序和商业解决方案都是为 ARM 编译的,并能够在基于骁龙平台的Windows上原生运行。
• 为 ARM64 编译桌面应用程序。x86 64 位应用程序的仿真器随 Windows 10 build 21277 一起分发,足以让许多应用程序无缝运行。尽管如此,为 ARM/ARM64 编译您的应用程序可确保您的用户享受本机性能,如视频“构建 ARM64 Win32 C++ 应用程序”中所示。
• 为 AArch64(64 位 Arm)编译 UWP 应用程序。x86 32 位应用程序可以在几乎不需要修改的情况下在基于骁龙平台的Windows上模拟运行。这包括经典桌面应用和通用 Windows 平台 (UWP) 应用。为获得最佳性能,请添加一个包以使用应用包体系结构和Visual Studio 15.9 或更高版本为 ARM64 编译原生应用。
• 使用 ARM64EC(仿真兼容)。利用 ARM64EC 逐步使您的应用程序在 ARM 上达到本机速度,即使您的依赖项或插件尚不支持 ARM。ARM64EC 包含在 Windows SDK中。
• 为 AArch64 编译驱动程序。x86 内核模式驱动程序和用户模式驱动程序框架 (UMDF) 无法模拟运行。您必须按照使用 WDK 构建 ARM64 驱动程序中的步骤为 AArch64 编译这些程序。
• 始终开启,始终连接。很少需要额外的开发工作来利用基于骁龙平台的Windows上的 始终开启,始终连接功能。例如,桌面应用程序在系统处于现代待机状态时暂停,并在系统恢复到活动状态后恢复正常工作。UWP 商店应用可以利用后台任务在新式待机期间执行一些活动。有关更多详细信息,请参阅在骁龙平台上将应用程序与现代待机集成和适用于 Windows 的现代(连接)待机模式。
• 平衡性能和功耗。有关设计高性能节能应用的详细信息,请参阅能源效率最佳实践。
• 设置过程信息。基于骁龙平台的Windows结合了高性能内核和节能内核。操作系统调度程序旨在利用该功能,因此无需应用程序开发人员的干预。但是,您可以明确标记低优先级活动的线程和内存优先级。您还可以使用SetProcessInformation 函数 (processthreadsapi.h) API。
二、调试和故障排除
在大多数情况下,您可以使用 Visual Studio 或 WinDbg 在 骁龙上调试 Windows 应用程序和驱动程序,就像调试任何其他 Windows 模块一样。
• 在 ARM64 上调试。使用 WinDbg调试ARM64 代码。调试体验与 x86 Windows一模一样。
• 在没有 Visual Studio 的计算机上工作。使用Visual Studio 2022 的远程工具,您可以在未安装 Visual Studio 的计算机上远程部署、调试、测试和配置文件。(使用此工具需要有效的 Visual Studio 许可证。)
• 使用 Sysinternals Suite 进行故障排除。使用Sysinternals Suite for ARM64中的选定实用程序来帮助您管理、排除故障和诊断您的 Windows 系统和应用程序。
• 调试仿真问题。当模拟的 x86 32 位应用程序无法在 基于骁龙平台的Windows上正常运行时,请参阅 Microsoft 的x86 桌面应用程序故障排除文档。例如,禁用动态代码生成的应用程序将无法正常运行。如果您的应用程序尝试挂钩 Windows 组件或将其 DLL 加载到 Windows 进程中,您将需要重新编译这些 DLL 以匹配系统架构 (AArch64)。相关资源请参考ARM 上的程序兼容性疑难解答。
• UWP 应用疑难解答。如果您的 ARM32 或 AArch64 UWP 应用无法在 ARM 上正常运行,请参阅ARM UWP 应用疑难解答。
• 报告问题。对于开发过程中反复崩溃等问题,请收集完整的崩溃转储- 通常存储位置为 C:\Windows\memory.dmp。
Qualcomm 开发者专区是 Qualcomm 联合CSDN 共同打造的面向中国开发者的技术专区。致力于通过提供全球最新资讯和最多元的技术资源及支持,为开发者们打造全面一流的开发环境。本专区将以嵌入式、物联网、游戏开发、Qualcomm® 骁龙™处理器的软件优化等技术为核心,打造全面的开发者技术服务社区,为下一代高性能体验和设计带来更多的想法和灵感。
加入 Qualcomm 开发者专区