狀況
假設您已在您的電腦上,套用 Microsoft Visual Studio 2012 更新 4。當您編譯某些 C 或 c + + 的原始檔程式碼在一起的最佳化編譯器選項,例如/Ox (完全最佳化)、 /Oxt,或/O2 (最大化速度) 以及您目標 x64 平台,您可能會收到下列錯誤訊息︰
嚴重錯誤 C1001︰ 發生編譯器內部錯誤。
請注意,是否在函式呼叫中,則用的結構或類別的陣列,而且陣列的第一個元素的第一個欄位是函數呼叫中,可能會發生這個問題。請參閱下列的範例︰S* arr = …func1(arr, …)
func2(arr->firstField, …)
解決方案
Hotfix 資訊
支援的 hotfix 可從 Microsoft 取得。不過,此 Hotfix 僅用於修正本文中所述的問題。此 Hotfix 只適用於發生此特定問題的系統上。
如果 Hotfix 可供下載,在此知識庫文件頂端將出現<有可用的 Hotfix 供您下載>區段。如果這個區段不會出現,將要求提交給 Microsoft 客戶服務及支援取得 Hotfix。
注意如果發生其他問題,或如果需要進行疑難排解,您可能必須建立個別的服務要求。收取支援費用會套用到其他支援問題和此特定 hotfix 無法解決的問題。如 Microsoft 客戶服務及支援的電話號碼或建立個別的服務要求的完整清單,請造訪下列 Microsoft 網站︰
http://support.microsoft.com/contactus/?ws=support注意「 可下載 Hotfix 」表單會顯示 hotfix 可用的語言。如果看不到您的語言,是因為未提供該語言的 Hotfix 。
先決條件
若要套用此 hotfix,您必須使用 Microsoft Visual Studio 2012 更新 4 安裝。
重新啟動需求
您可能必須重新啟動電腦,如果受影響的檔案不在使用一次的安裝,安裝 hotfix 之後。我們建議您安裝此 hotfix 之前,關閉所有 Visual Studio 2010 相關的元件。
因應措施
若要解決這個問題,請使用/O1 (最小化的大小) 最佳化編譯器選項,或使用/Od (停用),停用最佳化。
狀態
Microsoft 已確認這是<套用>一節所列出的 Microsoft 產品的問題。