啟用一個或多個架構特性以產生 x64 程式碼。
注意
/feature:APX 支援為實驗性質,且可能有所變動。
語法
/feature:<arg>
Arguments
要啟用 x64 目標支援的一項或多項功能,請指定以下一項或多項功能參數:
| 特徵論證 | Description | 版本支援 |
|---|---|---|
APX |
啟用 Intel APX(進階效能擴充)預覽支援。 使編譯器能針對多種 APX 功能,如擴展 General-Purpose 暫存器(EGPR)、新資料目的地(NDD)、No-Flags 更新(NF)、新的條件指令集(ISA)及優化暫存器儲存/還原操作。 欲了解更多資訊,請參閱 Intel 進階效能擴充(APX)。 | MSVC 建置工具 14.51(預覽支援) |
備註
範例用法:要啟用 APX,請指定 /feature:APX。
當 /feature:APX 指定 時,定義以下預處理器巨集:__APX_F__、 __CCMP____CF____EGPR____NDD____NF____PPX____PUSH2POP2____ZU__。 欲了解更多資訊,請參閱Microsoft專屬的預定義巨集。
APX 擴充了 x64 架構,加入了新的暫存器和指令,這影響了編譯器如何產生呼叫、跨函式邊界保存狀態,以及釋放解構中繼資料。 以下文章將介紹 x64 的慣例並解開與 APX 相關的資訊:
-
呼叫者/被呼叫者已儲存暫存器
描述被叫方必須保留哪些暫存器,以及呼叫者在 x64 通話中負責儲存哪些暫存器。 -
SETJMP/長JMP
說明非本地跳躍如何捕捉並還原 x64 上的非揮發性暫存器狀態,包括參與跳躍緩衝區的暫存器。 -
登記器波動率與保存
總結了 x64 軟體中揮發性與非揮發性通用、XMMYMMZMM、暫存器的慣例,以及被調用者必須遵守以維護這些慣例的規則。 -
例外處理解開資訊 V3
V3 解構資訊格式的預覽規範,用於描述 x64 程式碼的序言、尾聲及框架佈局,包括 APX 引入的擴展狀態。
在 Visual Studio 中設定 /feature 編譯程式選項
- 開啟專案的 [ 屬性頁 ] 對話框。 如需詳細資料,請參閱在 Visual Studio 中設定 C ++ 編譯器和組建屬性。
- 選取 [組態屬性]>[C/C++]>[命令列] 屬性頁。
- 在 附加選項 框中,加入
/feature:APX。 選取 [確定] 儲存您的變更。