共用方式為


ARM 組譯工具命令列參考

Microsoft ARM 組合器、 armasmarmasm64 支援數個命令行選項。 根據預設, 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_filelist_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 組合器指示詞