パスワードを忘れた? アカウント作成
15757746 story
Windows

Microsoft、Arm64EC を正式サポート 17

ストーリー by headless
正式 部門より
Microsoft は 9 日、Arm64EC の正式サポートを発表した (C++ Team Blog の記事Neowin の記事Windows Central の記事)。

Microsoft が昨年発表した Arm64EC は、Arm 版 Windows 11 上でネイティブスピードでの実行と x64 との相互互換性を実現するアプリケーションバイナリインターフェイス (ABI) だ。「EC」は「Emulation Compatible (エミュレーション互換)」の略だという。

Arm64EC を使用することで同一プロセスに Arm コードと x64 コードを混在させることができるため、既存の x64 アプリを徐々に Arm へ移植していくことが可能となる。Visual Studio における Arm64EC 開発の試験版サポートも発表された。また、同日リリースされた .NET Framework 4.8.1 では Arm64 がネイティブサポートされる。
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by Anonymous Coward on 2022年08月13日 14時56分 (#4306232)

    やっぱり移植はせんと駄目なんですかね?
    WoW64みたいになってそのまま動ければ幸せですけど。

    • by Anonymous Coward on 2022年08月14日 20時53分 (#4306513)

      WoW64みたいにそのまま動くよ。移植が必要なのはそれではパフォーマンスが不足する場合だけ。ただし従来のArm64 ABIではx64のコードと相互呼び出しができなかったので、アプリ全体を一気に移植する必要があった。これに対してArm64EC ABIではDLL単位で少しずつ移植を進めることができる。従来もシステムDLLはArm64ECでビルドされていたので、同じDLLをx64とArm64の両方から使えた(そのためWow64のような分離されたシステムディレクトリは存在しなかった)。今回同様のDLLのビルドをサードパーティーにも開放したということ。

      親コメント
      • by Anonymous Coward

        > 従来もシステムDLLはArm64ECでビルドされていたので、同じDLLをx64とArm64の両方から使えた

        訂正: これはArm64ECじゃなくてArm64Xだった(Arm64ECと無関係なわけではないが)。

    • by Anonymous Coward

      WoW64みたいにていうかまさにWoWの原理でABI呼び出しを変換してるそうですが。まあパフォーマンスとか考えたらARM向けの機械語版もだしてよってのがマイクロソフトの本音でしょうね。 CILにコンパイルしたならそのへんどうでもいいよねとか言わない。

    • by Anonymous Coward

      そこで渋るなら別に移植しなくてもいいし、なんなら現状誰も使ってないようなプラットフォームのサポートをしないことを選んでもいい

      • by Anonymous Coward

        渋るというか、移植しなくてもそのまま動くのかどうかでしょ

        • by Anonymous Coward

          そんなもんテストしろよ

          • by Anonymous Coward

            Write once, test anywhere というヤツですね。

            • by Anonymous Coward

              むしろwrite once系でそうじゃないものを見たことがない。
              だけど営業受けはいいんだよね... (´・ω・`)

    • by Anonymous Coward

      面倒なら.NETアプリにすればいいじゃん
      JITコンパイラが良きに計らってくれる

      • by Anonymous Coward

        既存のネイティブアプリを.NETにって、規模にもよるけどまだ今回の仕組み使った方がマシなんじゃ…

    • by Anonymous Coward

      .NET 5からは、ちゃんとARMに対応したから .NETで書けば気にせずネイティブ実行されるよ。
      .NET Framework4 を使って書かれてるやつは、ARM64でも x86/x64の.NET Frameworkが使われる。
      .NET FrameworkのアプリもWCFとかのような廃止されたものを使ってなければ、 .NET 6でそのまま動くからランタイム指定変えてビルドしなおせばすむ。

  • by Anonymous Coward on 2022年08月14日 23時35分 (#4306557)

    どうせなら.EXEを廃止して
    Macにように複数のコードをバンドルできる仕組みなら
    Arm版でもIntel版でも動く仕組みなら理解できるけど
    ターゲットもなくこれって謎だな。

typodupeerror

アレゲはアレゲを呼ぶ -- ある傍観者

読み込み中...