Начало работы с Arm64EC

Чтобы приступить к созданию приложения или проекта с помощью Arm64EC, необходимо установить некоторые предварительные требования и добавить конфигурацию Arm64EC.

Необходимые компоненты

  • Последняя сборка пакета SDK для Windows 11. Если используется пакет SDK для Windows 11 версии 22000, обновленная версия 29 июля 2022 г. включает исправления ключей для создания приложений Arm64EC.
  • Visual Studio 2022 версии 17.3 или более поздней версии.
  • Средства Arm64EC, установленные с помощью установщика Visual Studio.

В установщике Visual Studio вы можете добавить инструменты Arm64EC, выполнив поиск в разделе "Отдельные компоненты" и выбрав msVC версии 143 — средства сборки ARM64 VS 2022 C++ проверка box.

Visual Studio Installer Arm64EC checkbox screenshot

Важно!

Начиная с Visual Studio 2022 версии 17.4 средства Arm64EC включаются при установке средств Arm64 (MSVC версии 143 — VS 2022 C++ ARM64). Вам больше не нужно выбирать отдельный параметр для инструментов Arm64EC.

После установки необходимых компонентов и средств вы можете нацелиться на Arm64EC в проектах MSBuild и CMake.

Проекты MSBuild

  1. С установленными инструментами и пакетом SDK создайте проект C++ или откройте существующий.

    Примечание.

    Если проект использует пакет SDK для Windows 11 или версию MSVC старше VS 17.3, необходимо перенацелить решение, чтобы использовать последнюю версию каждого.

  2. Чтобы добавить платформу Arm64EC, выполните следующие действия.

    • В меню "Сборка " выберите Configuration Manager.
    • В поле "Активная платформа решения" выберите <New…> для создания новой платформы.
    • Выберите ARM64EC, Скопируйте параметры из x64 и проверка поле "Создать новые платформы проектов" проверка box.

    Visual Studio Installer New Arm64EC Platform screenshot

    При необходимости можно оставить части решения как x64. Тем не менее, чем больше кода, созданного как Arm64EC, тем больше кода, который будет работать с собственной производительностью в Windows 11 на Arm. Для любых внешних зависимостей убедитесь, что проект ссылается на версии x64 или Arm64EC этих проектов.

  3. На месте и выбранной платформой решения выберите "Сборка в Visual Studio", чтобы начать создание двоичных файлов Arm64EC.

При разработке не все проекты в решении Arm64EC должны быть ориентированы на Arm64EC, так как они могут использовать x64. Для всех таких проектов, которые вы хотите остаться в качестве x64, убедитесь, что эти проекты в диспетчере конфигураций настроены для целевых объектов x64 в рамках сборки решения ARM64EC.

Проекты CMake

  1. Откройте проект C++ CMake или создайте новый.

  2. Откройте файл CMakePresets.json, перейдя в раскрывающийся список активных конфигураций и выбрав пункт "Управление конфигурациями".

  3. Измените свойство архитектуры в конфигурации Windows для Arm64EC.

     "architecture": { 
        "value": "arm64ec", 
        "strategy": "external"
     }
    

    Генератор по умолчанию — Ninja. Если используется генератор Visual Studio, измените поле стратегии на заданное.

  4. При использовании генератора Ninja необходимо также задать некоторые переменные среды, добавив объект среды в конфигурацию CMakePresets.

     "environment": { 
        "CXXFLAGS": "/arm64EC",
        "CFLAGS": "/arm64EC" 
     }
    
  5. Сохраните файл CMakePresets и убедитесь, что активная конфигурация задана в конфигурации Arm64EC. В строке меню выберите меню проекта, а затем нажмите кнопку "Настроить [имя проекта] , чтобы создать кэш CMake.

  6. Создайте проект CMake, предназначенный для Arm64EC, как и любой другой проект CMake, перейдя в меню "Сборка" и выбрав "Создать все".

Командная строка разработчика

Если вы хотите использовать командную строку разработчика Visual Studio для компиляции и связывания исходных файлов для Arm64EC, необходимо использовать командную строку разработчика Arm64 , а затем выполнить команды cllink отдельно. Используйте переключатель /arm64EC для cl сборки и /MACHINE:ARM64EClink связывания кода Arm64EC.

cl /arm64EC /c <args>

link /MACHINE:ARM64EC <args>

Узнайте больше о том, как использовать набор инструментов Microsoft C++ из командной строки.