話休提,言歸正轉。讓我們一起talk gcc吧!
看官們,gcc有編譯警告的功能。什麼是編譯警告?台下有看官提問了。所謂的編譯警告就是編譯器在編
譯過程中把一些不符合編譯規則但是又符合編譯語法的內容給予警告。我用乙個現實生活中的例子給大家
做個比喻:大家都看過足球比賽吧,足球比賽的裁判手裡拿著拿著黃色和紅色兩種顏色的牌。比賽中球員
們違反比賽規則的事情經常發生,如果球員違反的規則不會給比賽帶來嚴重後果,那麼裁判會給球員出示
黃牌。如果球員違反的規則會給比賽帶來嚴重後果,那麼裁判會給球員出示紅牌。足球比賽中的黃牌就好
比gcc中的編譯警告,紅牌就好比gcc中的編譯錯誤。gcc發出編譯警告,但是還可以繼續編譯。gcc發出
編譯錯誤,那麼它就會停止編譯。
在預設情況下,gcc會開啟編譯警告功能,不過只是包含一些基本的警告的資訊,我們可以通過gcc的選項
讓gcc在編譯過程中發出更多更多的編譯警告。
選項wall可以讓gcc發出更多的警告。例子:gcc -wall file.c -o f.o
選項werror可以讓gcc將警告看作是錯誤,選項wall雖然能讓gcc發出更多的警告,但是不會讓gcc停止
編譯。選項werror發生警告時會讓gcc停止編譯。
看官們,警告資訊,也是有用的資訊,因為警告中可能會有一些潛在的錯誤。所以使用gcc時盡量開啟警
告資訊,並且注意編譯時產生的警告資訊,把它們修改好,直到沒有產生編譯警告為止。
看官們,關於gcc的內容,今天咱們就說這些。欲知後事如何,且聽下回分解!
一起talk GDB吧(第四回 GDB呼叫棧除錯)
這一回中,我們繼續介紹gdb的除錯功能 呼叫棧除錯。當然了,我們也會介紹如何使用gdb進行呼叫棧 除錯。閒話休提,言歸正轉。讓我們一起talk gdb吧!看官們,我們先說一下什麼是呼叫棧。大家都知道,程式中經常使用各種各樣的函式,有的是語言提供的 庫函式,比如printf 有的是我們自己定義的函式。...
一起talk GCC吧(第五回 GCC優化)
閒話休提,言歸正轉。讓我們一起talk gcc吧!看官們,大家都知道,人們寫的 中,不一定是最優的 所以有時候會使用編譯器對 進行優化。這樣可以提高 執行效率。和警告功能一樣,優化功能也是通過選項實現的。選項o 注意是大寫,與指 定生成檔名的小寫o區分開,另外gcc是區分大小寫的,不要寫錯 的用法和...
一起talk Vim吧(第一回 Vim出山)
起talk vim吧!vim是vi improved的簡稱,從名字上就能看出來,它是vi的改良版本,那麼vi又是何物?vi是linux 上的一種文字編譯器,而vim就是vi種編輯器的公升級版本。vim可以看作是文字編輯器裡的屠龍刀,也就 只有emacs這把倚天劍才能與他爭鋒。那麼倚天劍和屠龍刀哪個利...