/ZH (偵錯資訊中檔案總和檢查碼計算的哈希演算法)

指定要用來產生每個來源檔案總和檢查碼的密碼編譯哈希演算法。

Note

此選項 /ZH 適用於Visual Studio 2019 16.4版和更新版本。

語法

/ZH:MD5
/ZH:SHA1
/ZH:SHA_256

/ZH:MD5
/ZH:SHA1
/ZH:SHA_256
/ZH:SHA384
/ZH:SHA512

引數

/ZH:MD5
針對總和檢查碼使用 MD5 哈希。 此選項是 Visual Studio 2019 中的預設值。

/ZH:SHA1
使用總和檢查碼的SHA-1哈希。

/ZH:SHA_256
針對總和檢查碼使用SHA-256哈希。 此選項是 Visual Studio 2022 17.0 版和更新版本中的預設值。

/ZH:SHA384
校驗碼使用SHA-384雜湊值。

/ZH:SHA512
校驗和可以用 SHA-512 雜湊值。

備註

PDB 檔案會儲存每個原始程式檔的總和檢查碼,並編譯成相關聯可執行檔中的物件程序代碼。 總和檢查碼可讓調試程序驗證其載入的原始程式碼是否符合可執行檔。 編譯器與除錯器支援 MD5、SHA-1 及 SHA-256 雜湊演算法。 由於 MD5 和 SHA-1 存在碰撞問題風險,建議使用 /ZH:SHA_256 選項或更強的選項。

PDB 檔案會儲存每個原始程式檔的總和檢查碼,並編譯成相關聯可執行檔中的物件程序代碼。 總和檢查碼可讓調試程序驗證其載入的原始程式碼是否符合可執行檔。 編譯器與除錯器支援 MD5、SHA-1、SHA-256、SHA-384 及 SHA-512 雜湊演算法。 由於 MD5 和 SHA-1 存在碰撞問題風險,建議使用 /ZH:SHA_256 選項或更強的演算法。 SHA-384 和 SHA-512 提供更強的校驗和,但它們可能會延長編譯時間。

Note

/ZH:SHA384 IFC(模組介面)檔案不支援 and /ZH:SHA512 選項。 如果你編譯模組時包含這些選項,編譯器會發出 致命錯誤 C1029。 編譯 C++ 模組時,使用 /ZH:SHA_256 或較小的雜湊演算法。

指定多個選項時,會使用最後一 /ZH 個選項。

在 Visual Studio 開發環境中設定這個編譯器選項

  1. 開啟專案的 [ 屬性頁 ] 對話框。 如需詳細資料,請參閱在 Visual Studio 中設定 C ++ 編譯器和組建屬性

  2. 將 [ 組態 ] 下拉式清單設定為 [所有組態]。 將 [平台] 下拉式值設定為 [所有平台]

  3. 選取 [組態屬性]>[C/C++]>[命令列] 屬性頁。

  1. 修改 Additional options 屬性,加入 /ZH:MD5/ZH:SHA1/ZH:SHA_256/ZH:SHA384/ZH:SHA512 選項,然後選擇確定
  1. 修改 Additional options 屬性,新增 /ZH:MD5/ZH:SHA1/ZH:SHA_256 選項,然後選擇 確定

另請參閱

編譯程序選項
除錯介面存取 SDK - IDiaSourceFile::get_checksumType
來源伺服器