ARM 組譯工具命令列參考
Microsoft ARM 組合器、 armasm 和 armasm64 支援數個命令行選項。 根據預設, armasm 會將 ARMv7 Thumb 元件語言組合成 Common Object File Format (COFF) Microsoft實作。 armasm64 組合器會建立適用於ARM64和ARM64EC目標的COFF物件程式代碼。 連結器可以連結 ARM 組合器和 C/C++ 編譯程式所產生的 COFF 程式代碼物件。 它可以與圖書館員所建立的對象連結庫連結。
語法
armasm
[options] source_file object_file
armasm
[options] source_file
armasm64
[options] source_file object_file
armasm64
[options] source_file
參數
options
下列選項的零個或多個組合:
-16
僅適用於 armasm。 將來源組合為16位 Thumb 指示。 這個選項是預設值。-32
僅適用於 armasm。 將來源組合為 32 位 ARM 指令。-coff_thumb2_only
僅適用於 armasm。 只允許 Thumb-2 程式代碼。-errorReport:
選擇
即將淘汰此選項。 在 Windows Vista 和更新版本中,錯誤報告是由 Windows 錯誤報告 (WER) 設定所控制。-errors
檔案名稱
-e
檔案名稱
將錯誤和警告訊息重新導向至 檔名。 根據預設,這些訊息會傳送至stdout
。-funcOverride:
function_name
僅適用於 armasm64。 發出函式覆寫對function_name的支援。-g
產生偵錯資訊。-gh:SHA1
使用 SHA-1 密碼編譯哈希演算法,在偵錯資訊中產生每個來源檔案的總和檢查碼。 覆寫-gh:SHA256
。-gh:SHA256
使用 SHA-256 密碼編譯哈希演算法,在偵錯資訊中產生每個來源檔案的總和檢查碼。 在 Visual Studio 2022 17.0 版和更新版本中,此選項預設為開啟。-guard:ehcont
[-
]
針對二進位檔產生所有有效例外狀況處理接續目標的相對虛擬位址 (RVA) 排序列表。 其用於運行時間,NtContinue
以及SetThreadContext
指令指標驗證。 默認為-guard:ehcont
off,且必須明確啟用。 若要明確停用這個選項,請使用-guard:ehcont-
。 此選項適用於Visual Studio 2019 16.7版和更新版本。 64 位作業系統上的64位進程支援此功能。-help
-h
列印命令行說明訊息。-i
dir[;
dir]
將一或多個指定的目錄新增至 include 搜尋路徑。 使用分號 (;
) 分隔目錄。-ignore
warning_number
停用指定的警告編號。 如需可能的值,請參閱 ARM組合器診斷訊息。-list
list_file
建立產生之元件語言的詳細清單,以 list_file。 list_file參數是選擇性的。 如果省略,組譯工具會.lst
附加至source_file的基底名稱,以建立清單檔案。-machine
機器
指定要在PE標頭中設定的機器類型。 在armasm中,機器的可能值為:- ARM—將機器類型設定為
IMAGE_FILE_MACHINE_ARMNT
。 這個選項是預設值。 - THUMB—將電腦類型設定為
IMAGE_FILE_MACHINE_THUMB
。
在armasm64中,可能的值為:
- ARM64—將機器類型設定為
IMAGE_FILE_MACHINE_ARM64
。 這個選項是預設值。 - ARM64EC—將機器類型設定為
IMAGE_FILE_MACHINE_ARM64EC
。
- ARM—將機器類型設定為
-noesc
-noe
忽略 C 樣式逸出的特殊字元,例如\n
或\t
。-nologo
隱藏著作權橫幅。-nowarn
-now
停用所有警告訊息。-o
object_file
指定物件 (output) 檔案的名稱。 這個選項-o
是選擇性的;您可以改為將物件檔名稱指定為命令行的最後一個專案。-oldit
僅適用於 armasm。 產生ARMv7樣式的IT區塊。 根據預設,會產生ARMv8相容的IT區塊。-predefine
命令
-pd
命令
指定 SETA、SETL 或 SETS 指示詞來預先定義符號。
範例:armasm.exe -predefine "COUNT SETA 150" source.asm
如需詳細資訊,請參閱 ARM編譯程式armasm參考指南。-sourcelink:
sourcelink_filename
sourcelink_filename指定 JSON 格式的組態檔,其中包含將本機檔案路徑對應至 URL 的簡單對應,以供調試程式中顯示的來源檔案。 如需此檔案格式的詳細資訊,請參閱 來源連結 JSON 架構。 Source Link 是語言與原始檔控制無關的系統,可提供二進位檔的來源偵錯。 從 Visual Studio 2017 15.8 版開始,原生二進位檔支援 Source Link。 如需來源連結的概觀,請參閱 來源連結。 如需如何在專案中使用Source Link 的資訊,以及如何在專案中產生SourceLink檔案,請參閱 使用來源連結。-via
檔案名稱
從 檔名讀取額外的命令行自變數。
source_file
原始程式檔的名稱。
object_file
命令行的最後一個專案可以指定物件 (output) 檔案的名稱。 如果省略了,而且未-o
指定任何選項,組譯工具會.obj
附加至source_file的基底名稱,以建立物件檔。
備註
下列範例示範如何在一般案例中使用armasm。 首先,使用armasm將元件語言來源 (.asm) 檔案建置至物件 (.obj) 檔案。 然後,使用 CL 命令行 C 編譯程式來編譯來源 (.c) 檔案,並指定連結器選項來連結 ARM 物件檔。
armasm -o myasmcode.obj myasmcode.asm
cl myccode.c /link myasmcode.obj