我正在處理遺留代碼。如果同時指定了EHsc和EHa,會發生什麼
要修復一些錯誤,我必須給EHa一些文件。在測試時,我測試了EHsc和EHa的整個項目。這解決了我的問題,但給出警告說編譯器正在用EHa重寫EH。 (選項順序是:/ EHsc/EHa) 只有在構建需要EHa的文件時纔會發生此警告。它不會出現在僅需要EH的源文件中。
<name of the file that needs EHa>\cl : warning D9025 : overriding '/EHs' with '/EHa'
我的問題是,這個警告是否告訴實際發生了什麼? EHa僅適用於實際需要EHa的源文件嗎? (其他文件是否需要使用EHsc構建的EHa?)
謝謝。
我沒有嘗試所有可能的組合。我主要擔心的是使用EHa可能會降低性能。如果EHa應用於每個源文件,那麼我正計劃研究一種將EHa應用於實際需要它的文件並用EHsc編譯其他文件的方法。唯一的問題是我不熟悉這裏使用的基於Visual C++的構建系統。 謝謝 – Niroshan
您可以打開單個文件的屬性併爲這些特定文件設置不同的標誌。但是我希望你在擔心可能的性能下降之前,先對它進行了基準測試。過早優化和所有 – jalf