🗂
Windows 開発キット 2023
Windows 開発キット 2023 を購入して使ってみた。
開発情報
Windows Dev Kit 2023 関連のページ
Visual Studio 2022 17.4 以降
- https://visualstudio.microsoft.com/ja/vs/
- https://learn.microsoft.com/ja-jp/visualstudio/releases/2022/release-notes
インストールしたソフト
Google Chrome
arm64 版はなさそう。
以下を参考にインストールしたが、x64版だった。
- https://chromeenterprise.google/intl/ja_jp/browser/download/#windows-tab
- https://qiita.com/DR623G/items/5d50990d2bb8ef9f53d9
7zip
7zip は arm64 用のバイナリが公開されている
Git for windows
Git for Windows ARM64 (beta) が公開されている。(2022/12/13 現在で 2.39.0(beta) が最新)
>git --version --build-options
git version 2.38.1
cpu: aarch64
built from commit: bb3e90354601e0a3436a04d2f15b4a8a4d680d50
sizeof-long: 4
sizeof-size_t: 8
shell-path: /bin/sh
feature: fsmonitor--daemon
Visual studio code
以下からarm64 版をダウンロードできる。
system 版を選んでも user 版がダウンロードされる。
TortoiseSVN
以下からarm64 版をダウンロードできる。
cmake
以下からarm64版をダウンロードできる
アプリがARM64 ネイティブか確認する方法
Windows 開発キット 2023 では ARM64 バイナリも x64バイナリ(64bitアプリ) も x86バイナリ(32bit) も動作するので Windows 開発キット 2023ではネイティブアプリかわからない。
Intel PC での実行
バイナリを Intel ベースの PC にコピーして、実行すると以下のようなエラーになるので判別は可能
このバージョンの ...\arm64-test.exe は、実行中の Windows のバージョンと互換性がありません。コンピューターのシステム情報を確認してから、ソフトウェアの発行元に問い合わせてください。
ファイルをバイナリエディタで確認
バイナリをバイナリエディタで開くことによりネイティブアプリか判断可能
Windows の実行ファイルは PE Format という形式のため、PE ヘッダの直後の Machine フィールドの値を確認することにより実行ファイルがターゲットにしている CPU アーキテクチャを確認できる。
- IMAGE_FILE_MACHINE_I386 0x014c Intel 386
- IMAGE_FILE_MACHINE_AMD64 0x8664 AMD64 (K8)
- IMAGE_FILE_MACHINE_ARM64 0xAA64 ARM64 Little-Endian
以下で 0x64, 0xAA(Little endian で 0xAA64) になっているので arm64 と確認できる。
Machine フィールドおよび定義値は以下を参照
- https://learn.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-image_file_header
- https://learn.microsoft.com/ja-jp/windows/win32/sysinfo/image-file-machine-constants
PE フォーマットに関しては以下を参照
Discussion
Visual Studio 2022 がインストールされているなら、スタートメニューの「Visual Studio 2022」項目の下の「Developer Command Prompt for VS 2022」で開くコマンドプロンプト内で dumpbin コマンドが利用可能です。
こんな感じ。
そうですね。ツールでやるなら、dumpbin が使えますね。
この記事で書いているのは、dumpbin が解析している内容を直接確認しています。