編譯器出錯類型分為哪些類型
1. compile error是什麼錯誤
compile error
從字面上的意思翻譯就是:編譯錯誤。
這類錯誤通常都是由於源程序當中存在語法錯誤而導致不能夠生成可執行程序(例如:在程序語句末尾缺少標點符號、或者是括弧不配對等),程序中的這類錯誤在編譯這第一關就是通不過的。
還有的錯誤就是:鏈接錯誤。該類錯誤即:源程序中雖然沒有了語法錯誤,但是由於在編譯時需要鏈接特定的函數庫而沒有進行有效的鏈接,則此類錯誤稱之為鏈接錯誤。
編譯(compilation , compile)是利用編譯程序從源語言編寫的源程序產生目標程序的過程。用編譯程序產生目標程序的動作。 編譯就是把高級語言變成計算機可以識別的2進制語言,計算機只認識1和0,編譯程序把人們熟悉的語言換成2進制的。
編譯程序把一個源程序翻譯成目標程序的工作過程分為五個階段:詞法分析;語法分析;語義檢查和中間代碼生成;代碼優化;目標代碼生成。
(1)編譯器出錯類型分為哪些類型擴展閱讀
出錯處理:
如果編譯過程中發現源程序有錯誤,編譯程序應報告錯誤的性質和錯誤的發生的地點,並且將錯誤所造成的影響限制在盡可能小的范圍內,使得源程序的其餘部分能繼續被編譯下去,有些編譯程序還能自動糾正錯誤,這些工作由錯誤處理程序完成。
需要注意的是,一般上編譯器只做語法檢查和最簡單的語義檢查,而不檢查程序的邏輯。
2. 編譯出錯哪兒有問題
1.從編譯原理的角度講,語言的語法有著嚴格的規范,凡是不按照標准範式可解析的語法都是違法的,也就是錯誤的。所有違規的語句都應該被當做錯誤處理。 2.從現代編譯器的角度講,很多時候違規語句可以被默認的修正,在編譯原理上稱之為錯誤修正,因此對於此種不會影響程序運行的錯誤都採取默認的手段在編譯期間予以解決,這樣編譯器就將語句錯誤分為了兩類:警告(warning)和錯誤(error)。傳統上,前者是可忽略的,並不被稱之為編譯錯誤,只有後者會打斷編譯進程,造成編譯失敗。 3.只要編譯有錯誤,除非不是主程序構建模塊中的問題,否則絕對不能運行的,因為無法生成可執行目標。所以這個和設置沒關系的,因為可執行程序都沒有,根本不可能運行。VS2008也不存在這種設置項。不過有這么一種可能,即修改了程序,然後編譯出現錯誤,因而未更新曾經生成的目標文件,運行的時候運行的之前的,不過我用2010會有提示的……不知道你是不是把提示幹掉了……