Ubuntu GCC編譯的c程式出現段錯誤

2021-09-14 06:57:39 字數 302 閱讀 8490

很多小夥伴在linux環境中進行c語言的開發,gcc編譯器給我們帶來了很多方便。但有時也會遇到一些比較頭疼的問題。比如在c程式執行時終端提示段錯誤,這種問題往往在編譯的過程中不會報錯,而是在執行時才會出現,並且除錯過程中很難發現問題,我總結了幾種最近程式設計時遇到的段錯誤問題,希望可以和大家一起學習:

可能是分配了過大的靜態全域性陣列等,導致記憶體無法分配程式所需的足夠的空間。

或者是由於分配的記憶體沒有及時釋放,導致沒有足夠的記憶體給後面的變數分配。

可能是由於使用了沒有初始化的指標變數,檢查呼叫的指標變數是否都初始化。

檢查一下陣列好啦

C程式的編譯過程

編譯,編譯程式讀取源程式 字元流 對之進行詞法和語法的分析,將高階語言指令轉換為功能等效的彙編 再由匯程式設計序轉換為機器語言,並且按照作業系統對可執行檔案格式的要求鏈結生成可執行程式。c源程式標頭檔案 預編譯處理 cpp 編譯程式本身 優化程式 匯程式設計序 鏈結程式 可執行檔案 1.編譯預處理 ...

C程式的編譯過程

c程式的編譯過程 下面乙個簡單的例子 include 將標準庫標頭檔案拷貝 int main void 預處理 把程式設計師寫的源 進行 預加工 1 把 include包含的檔案內容拷貝到這裡 2 把巨集替換成對應的內容 3 其他預處理 預處理以後得到的還是源程式 編譯 把預處理以後的源程式,加工成...

C程式編譯過程

題記 前幾天去華為面試實習生,面試官問了個問題,讓我說出乙個程式的詳細編譯過程,當時磕磕絆絆說了一堆東西,事後自己都不知道當時說了什麼,慚愧。c語言編譯過程 編譯,編譯程式讀取源程式 字元流 對之進行詞法和語法的分析,將高階語言指令轉換為功能等效的彙編 再由匯程式設計序轉換為機器語言,並且按照作業系...