共用方式為


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
    列印命令列說明訊息。

  • -idir [ ; dir ]
    將一或多個指定的目錄新增至 include 搜尋路徑。 使用分號 ( ; ) 分隔目錄。

  • -ignorewarning_number
    停用指定的警告編號。 如需可能的值,請參閱 ARM 組合器診斷訊息

  • -listlist_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
    停用所有警告訊息。

  • -oobject_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 組合器指示詞