定义

所谓的段错误就是指访问的内存超出了系统所给这个程序的内存空间,通常这个值是由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编程常见的错误总结(必看篇)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
# linux
# C编程常见的错误
# 详解基于Linux下正则表达式(基本正则和扩展正则命令使用实例)
# Linux 修改 etc/hosts文件详细介绍
# Linux中mysqldump命令实例详解
# 一个简单的linux命令 tail
# linux系统oracle数据库出现ora12505问题的解决方法
# Linux中拷贝 cp命令中拷贝所有的写法详解
# 详解linux centos yum安装LAMP环境
# linux中kvm的安装及快照管理
# Linux下使用shell脚本自动执行脚本文件
# 每天学一个 Linux 命令之more命令
# 详解linux下redis安装、启动与停止
# redis做成服务
# Linux搭建python环境详解
# Linux下安装Oracle 11g出现prvf-0002错误解决办法
# Keepass+PuTTYPortable+Winscp一键登录实例详解
# 是由
# 给大家
# 不存在
# 是一个
# 就会
# 它是
# 这张
# 希望能
# 与此
# 这篇
# 必看
# 中就
# 他是一个
# 小编
# 计算机软件
# 大家多多
# 就是指
# 出现了
# 所给
# 发生了
相关文章:
微信小程序 五星评分(包括半颗星评分)实例代码
如何在阿里云ECS服务器部署织梦CMS网站?
如何在IIS7中新建站点?详细步骤解析
魔毅自助建站系统:模板定制与SEO优化一键生成指南
建站之星上传入口如何快速找到?
如何通过虚拟主机空间快速建站?
建站主机功能解析:服务器选择与快速搭建指南
如何快速配置高效服务器建站软件?
建站主机如何选?性能与价格怎样平衡?
如何解决ASP生成WAP建站中文乱码问题?
历史网站制作软件,华为如何找回被删除的网站?
制作假网页,招聘网的薪资待遇,会有靠谱的吗?一面试又各种折扣?
弹幕视频网站制作教程下载,弹幕视频网站是什么意思?
C#怎么创建控制台应用 C# Console App项目创建方法
网站插件制作软件免费下载,网页视频怎么下到本地插件?
广州网站建站公司选择指南:建站流程与SEO优化关键词解析
高性价比服务器租赁——企业级配置与24小时运维服务
宝塔建站教程:一键部署配置流程与SEO优化实战指南
JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)
图册素材网站设计制作软件,图册的导出方式有几种?
全景视频制作网站有哪些,全景图怎么做成网页?
c# Task.ConfigureAwait(true) 在什么场景下是必须的
如何用搬瓦工VPS快速搭建个人网站?
公司网站设计制作厂家,怎么创建自己的一个网站?
已有域名和空间如何快速搭建网站?
如何通过VPS建站实现广告与增值服务盈利?
宝塔面板如何快速创建新站点?
如何高效完成独享虚拟主机建站?
建站之星微信建站一键生成小程序+多端营销系统
保定网站制作方案定制,保定招聘的渠道有哪些?找工作的人一般都去哪里看招聘信息?
哈尔滨网站建设策划,哈尔滨电工证查询网站?
如何破解联通资金短缺导致的基站建设难题?
矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?
专业制作网站的公司哪家好,建立一个公司网站的费用.有哪些部分,分别要多少钱?
如何选择服务器才能高效搭建专属网站?
无锡营销型网站制作公司,无锡网选车牌流程?
c++怎么用jemalloc c++替换默认内存分配器【性能】
寿县云建站:智能SEO优化与多行业模板快速上线指南
建站主机选购指南:核心配置与性价比推荐解析
建站主机选虚拟主机还是云服务器更好?
c++怎么实现高并发下的无锁队列_c++ std::atomic原子变量与CAS操作【详解】
西安专业网站制作公司有哪些,陕西省建行官方网站?
建站之星ASP如何实现CMS高效搭建与安全管理?
家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?
*服务器网站为何频现安全漏洞?
电商网站制作公司有哪些,1688网是什么意思?
C++中引用和指针有什么区别?(代码说明)
佛山企业网站制作公司有哪些,沟通100网上服务官网?
微网站制作教程,我微信里的网站怎么才能复制到浏览器里?
*请认真填写需求信息,我们会在24小时内与您取得联系。