C語言程式設計時可能會發生的錯誤(不定時更新)

2021-10-01 11:57:32 字數 377 閱讀 9392

vs

提示"cl.exe已退出,**為2",檢查是否有函式沒有寫返回值。

某個檔案內的全域性變數不要放在它的標頭檔案中,不然在主檔案呼叫時會引發重定義錯誤。

定義結構體對齊時,#pragma pack(n)和#pragma pack()要成對使用,將結構放在它們中間,n取值為1,2,4,8

gcc:

檢視彙編**時發現有ud2指令,這個指令會使系統宕機,位元組碼:0x0f,0x0b,說明編譯器認為向下執行會發生錯誤,檢查**是否訪問了不應該訪問的位置,比如低位址(0x00000000,0x00000001,0x00000002。。。等等);

編譯時出現某函式未找到錯誤,此時檢查編譯時是否少新增了原始檔。

不要在標頭檔案定義const,會報錯。

閱讀優秀原始碼時可能會用的C函式(記錄)

使用 fopen 函式來建立乙個新的檔案或者開啟乙個已有的檔案,這個呼叫會初始化型別 file 的乙個物件,型別 file 包含了所有用來控制流的必要的資訊。下面是這個函式呼叫的原型 file fopen const char filename,const char mode 複製 filename...

閱讀優秀原始碼時可能會用的C函式(記錄)

使用 fopen 函式來建立乙個新的檔案或者開啟乙個已有的檔案,這個呼叫會初始化型別 file 的乙個物件,型別 file 包含了所有用來控制流的必要的資訊。下面是這個函式呼叫的原型 file fopen const char filename,const char mode 複製 filename...

C 程式設計可能會忽視的乙個「小問題」

又好久沒寫blog了,最近一直忙工作的事情,倒不是說沒時間,而是沒什麼心思整理思路,這篇文章也不是什麼大不了的文章,但確實是我最近遇到的乙個問題,我在除錯乙個程式的時候時不時出現一些莫名其妙的問題,這些問題也就是那種無規律重現的非常棘手的bug,相信做過開發的人都深有體會。當然我最後是fix了這些b...