麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 服務器 > Linux服務器 > 正文

linux C編程常見的錯誤總結(必看篇)

2024-09-05 23:03:23
字體:
來源:轉載
供稿:網友

定義

所謂的段錯誤就是指訪問的內存超出了系統所給這個程序的內存空間,通常這個值是由gd tr來保存的,他是一個48位的寄存器,其中的32位是保存由它指向的 gdt表,后13位保存 相應于gdt的下標,最后3位包括了程序是否在內存中以及程序的在cpu中的運行級別,指向 的gdt是由以64位為一個單位的表,在這張表中就保存著程序運行的代碼段以及數據段的起 始地址以及與此相應的段限和頁面交換還有程序運行級別還有內存粒度等等的信息。分段錯誤(通常簡稱為段錯誤)是一個特定的錯誤條件,計算機軟件的操作期間發生??傊?,一個分割故障發生在一個程序試圖訪問一個內存位置,它是不允許訪問,或試圖以一種不允許一個內存位置的訪問(例如,試圖寫入只讀位置,或覆蓋操作系統的一部分)。一旦一個程序發生了越界訪問,cpu就會產生相應的保護,于是segmentation fault就出現了通過上面的解釋,段錯誤應該就是訪問了不可訪問的內存,這個內存區要么是不存在的,要么是受到系統保護的,還有可能是缺少文件或者文件損壞。

————以上來自百度百科

斷錯誤產生的原因:

1 訪問不存在的內存地址

#include <unistd.h>#include <assert.h>#include <stdio.h>#include <stdlib.h>int main(int argc, char *argv[]){    int *ptr = NULL;    *ptr = 0;	return EXIT_SUCCESS;} 

2 訪問系統保護的內存地址

#include <unistd.h>#include <assert.h>#include <stdio.h>#include <stdlib.h>int main(int argc, char *argv[]){ 	int *ptr = (int *)0;	*ptr = 100;	return EXIT_SUCCESS;}

3 訪問只讀的內存地址

#include <unistd.h>#include <assert.h>#include <stdio.h>#include <stdlib.h>#include <string.h> int main(int argc, char *argv[]){     char *ptr = "xiyoulinux";    strcpy(ptr, "test"); return EXIT_SUCCESS;}

4 棧溢出

#include <unistd.h>#include <assert.h>#include <stdio.h>#include <stdlib.h>int main(){     main();}

以上這篇linux C編程常見的錯誤總結(必看篇)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持VEVB武林網。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 色999国产| 欧美日韩大片在线观看 | 成熟女人特级毛片www免费 | 日韩av片网站 | 欧美成年性h版影视中文字幕 | 成熟女人特级毛片www免费 | 精品中文字幕在线观看 | 中国女人内谢8xxxxxx在 | 曰韩毛片| 国产精品一区二区x88av | 一级片999 | 久草导航 | 国产91亚洲精品久久久 | 欧美视频在线观看一区 | 欧美一级aa免费毛片 | 国产精品99久久久久久久女警 | xnxx 美女19| 性爱视频在线免费 | 国产羞羞网站 | 日韩黄色在线播放 | 国产精品视频免费在线观看 | 久久久久久久免费看 | 九九热精品在线播放 | 国产毛片毛片 | 欧美一级片在线 | 久久在现视频 | 国产成人av一区二区 | 欧美亚洲免费 | 狠狠ri| 国产精品久久久久久久久久东京 | 久久艹一区 | 欧美一级在线看 | 久久久久久久久久久国产精品 | 亚a在线 | 自拍偷拍亚洲图片 | 一边吃奶一边摸下娇喘 | 中文字幕在线资源 | 在线看毛片的网站 | 成人午夜激情网 | 亚洲最新色 | 一级国产精品一级国产精品片 |