自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

转载 Linux环境下段错误的产生原因及调试方法小结

最近在Linux环境下做C语言项目,由于是在一个原有项目基础之上进行二次开发,而且项目工程庞大复杂,出现了不少问题,其中遇到最多、花费时间最长的问题就是著名的“借此机会系统学习了一下,这里对Linux环境下的段错误做个小结,方便以后同类问题的排查与解决。...

2022-07-30 22:55:20 2342

转载 Linux下的段错误(Segmentation fault)产生的原因及调试方法(经典)

一般来说,段错误就是指访问的内存超出了系统所给这个程序的内存空间,通常这个值是由gdtr来保存的,他是一个48位的寄存器,其中的32位是保存由它指向的gdt表,后13位保存相应于gdt的下标,最后3位包括了程序是否在内存中以及程序的在cpu中的运行级别,指向的gdt是由以64位为一个单位的表,在这张表中就保存着程序运行的代码段以及数据段的起始地址以及与此相应的段限和页面交换还有程序运行级别还有内存粒度等等的信息。我们在用C/C++语言写程序的时侯,内存管理的绝大部分工作都是需要我们来做的。...

2022-07-30 22:52:51 6804

转载 数组和指针的区别与联系(详细)

数组和指针的区别与联系(详细)---针对工作用到的函数指针、指针数组、数组指针以及二维数组如何传参讲解的较为详细,其中对我启发最大的要属:二级指针传参几种类型:(1)二级指针变量(2)一级指针变量地址(3)一维指针数组的数组名(非常重要)...

2020-05-24 11:51:01 437

转载 程序员如何预估自己的项目开发时间?

 作者丨爱编码的coderhttps://segmentfault.com/a/1190000016544541 项目时间的估算对项目的成败至关重要。项目时间管理包括了项目按时完成所需的各个过程。但是,在实际项目中,经常出现项目延期,估算严重不准确的现象。 预估时间本身就很难。每个程序员的估计都会跟真正需要的时间有些差距。估计时间短了说明有些事情被忽略了(编译,测试,提交代...

2018-11-05 16:27:51 3074

转载 Java中对于unsigned byte类型的转换处理

问题由来在阅读google的开源项目zxing时,遇到以下代码:public final String toString() { byte[] row = new byte[width]; StringBuilder result = new StringBuilder(height * (width + 1)); for (int y = 0; y < heigh

2017-11-24 14:46:02 3214

转载 Android Studio编译出来的APK无法安装如何解决?

Android Studio编译出来的APK无法安装如何解决?Android Studio编译出来的APK无法安装如何解决?随着Android8.0的发布,国内虽然没上8.0但是7.0、7.1已经比较普遍了。Android Studio也做了不少更新。但是有不少人发现,我更新了Android Studio,发现我的手机无法调试了?根本无法直接

2017-11-10 17:18:06 5100 1

原创 sizeof与strlen的区别(详解)

请做下面题目:32位环境下,int *p=new int[10];请问sizeof(p)的值为()A、4              B、10              C、40               D、8我以为正确答案为C,int类型为32位,占四个字节,10个自然就是40了,结果正确答案为A,只是指针p占的空间。因此写段代码测试一下:

2017-08-22 10:09:30 267

原创 VMvare虚拟机安装过程出现问题的解决方案

vmvare虚拟机时正常情况都能安装,可有时弹出的错误可真把人折腾死,下面就本人安装过程出现的问题提供下解决思路版本:VMware-workstation-full-10.0.2-1744117.1398244508.exe双击.exe一路next下去,然后出现第一个问题,如下图所示:这个问题我折腾了半天,不明白什么原因,直接baidu ,然后参考http://jingyan.

2017-03-20 11:34:52 18927 1

转载 linux下C语言__FILE__,__LINE__,FUNCTION__实现代码跟踪调试

__FILE__,__LINE__,FUNCTION__实现代码跟踪调试(linux下C语言编程 )先看下简单的初始代码:注意其编译运行后的结果。root@xuanfei-desktop:~/cpropram/2# cat global.h //头文件#ifndef CLOBAL_H        #define GLOBAL_H        #include    

2017-03-16 19:04:38 7914

转载 信号量、互斥体和自旋锁

信号量、互斥体和自旋锁一、信号量      信号量又称为信号灯,它是用来协调不同进程间的数据对象的,而最主要的应用是共享内存方式的进程间通信。本质上,信号量是一个计数器,它用来记录对某个资源(如共享内存)的存取状况。一般说来,为了获得共享资源,进程需要执行下列操作:    (1) 测试控制该资源的信号量。    (2) 若此信号量的值为正,则允许进行使用该资源。进程将信号量

2017-03-04 14:07:14 392

转载 Linux 的虚拟文件系统

1 引言Linux 中允许众多不同的文件系统共存,如 ext2, ext3, vfat 等。通过使用同一套文件 I/O 系统 调用即可对 Linux 中的任意文件进行操作而无需考虑其所在的具体文件系统格式;更进一步,对文件的 操作可以跨文件系统而执行。如图 1 所示,我们可以使用 cp 命令从 vfat 文件系统格式的硬盘拷贝数据到 ext3 文件系统格式的硬盘;而这样的操作涉及到两个不同的文

2017-03-04 13:37:36 277

转载 Linux进程调度策略

linux内核的三种主要调度策略:1,SCHED_OTHER 分时调度策略, 2,SCHED_FIFO实时调度策略,先到先服务 3,SCHED_RR实时调度策略,时间片轮转  实时进程将得到优先调用,实时进程根据实时优先级决定调度权值。分时进程则通过nice和counter值决定权值,nice越小,counter越大,被调度的概率越大,也就是曾经使用了cpu

2017-03-04 13:23:55 406

转载 【Linux】深入理解Linux中内存管理

【Linux】深入理解Linux中内存管理  主题:Linux内存管理中的分段和分页技术  回顾一下历史,在早期的计算机中,程序是直接运行在物理内存上的。换句话说,就是程序在运行的过程中访问的都是物理地址。  如果这个系统只运行一个程序,那么只要这个程序所需的内存不要超过该机器的物理内存就不会出现问题,我们也就不需要考虑内存管理这个麻烦事了,反正就你一个程序,就这么点内

2017-03-04 10:50:21 316

转载 三星s5pv210 uboot启动过程理解

uboot启动过程理解    对于2440而言,启动的方式不多。一般就是外界一个NAND FLASH ,2440内部有个NAND FLASH Controller,会自动把NAND FLASH的前4K拷贝到2440的片内SRAM。2440这个片内SRAM就是所谓的 Stepping Stone刚好也是4K。     在制作启动代码时,就是uboot。一般会把uboo

2017-02-27 09:56:45 553

转载 Linux多线程同步的几种方式

线程的最大特点是资源的共享性,但资源共享中的同步问题是多线程编程的难点。linux下提供了多种方式来处理线程同步,最常用的是互斥锁、条件变量和信号量。1)互斥锁(mutex)    通过锁机制实现线程间的同步。同一时刻只允许一个线程执行一个关键部分的代码。int pthread_mutex_init(pthread_mutex_t *mutex,const pthread_

2016-09-27 13:54:12 6788 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除