共用方式為


ARM 組譯工具命令列參考

Microsoft ARM 組合器、 armasmarmasm64 支援數個命令行選項。 根據預設, armasm 會將 ARMv7 Thumb 元件語言組合成 Common Object File Format (COFF) Microsoft實作。 armasm64 組合器會建立適用於ARM64和ARM64EC目標的COFF物件程式代碼。 連結器可以連結 ARM 組譯器和 MSVC 編譯器所產生的 COFF 程式碼物件。 它可以與圖書館員所建立的對象連結庫連結。

語法

armasm [選項] source_fileobject_file
armasm [選項] source_file

armasm64 [選項] source_fileobject_file
armasm64 [選項] 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 導演[;導演]
    將一或多個指定的目錄新增至 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
  • -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

另請參閱

ARM 組合器診斷訊息
ARM 組合器指示詞