rsmygd

自信,进取,不断超越

内存泄露和内存溢出

一、内存泄露 1.定义:指由于疏忽或错误造成程序未能释放已经不再使用的内存的情况。内存泄漏并非指内存在物理上的消失,而是应用程序分配某段内存后,由于设计错误,失去了对该段内存的控制,因而造成了内存的浪费。 2.泄露类型: 1>堆内存泄漏(Heap leak) a.指利用malloc或...

2016-10-25 10:27:58

阅读数 240

评论数 0

c++中的引用与指针的区别

★ 相同点:     1. 都是地址的概念;     指针指向一块内存,它的内容是所指内存的地址;引用是某块内存的别名。     ★ 区别:     1. 指针是一个实体,而引用仅是个别名;     2. 引用使用时无需解引用(*),指针需要解引用;     3...

2016-09-29 09:50:54

阅读数 251

评论数 0

关于sizeof和strlen的区别

1、sizeof和strlen的区别     sizeof strlen 定义 操作符,主要用来计算数据类型的长度 函数主要用来计算字符串的长度 参数 1.数据类型(主要计算一种数据类型的长度,指针是一种数据类型,数组是一种特殊的结构体); 2.也可以计算函数的长度; 3.其不能...

2016-09-28 23:21:59

阅读数 193

评论数 0

液晶显示知识总结

1.LCD液晶分类:          1)段式:          2)字符型液晶:只能显示字符和数字          3)图形点阵式液晶:TN、STN、TFT、UBF                    1>STN:                             a.优点:...

2016-09-18 22:38:38

阅读数 238

评论数 0

Linux内核分析

一、预备知识 1.Linux内核发展 1)单内核和微内核: 1>引出Linux和Unix,Windows之间的关联 2>Linux的优势:集两家之长 2.CPU的寻址方式 1)CPU的位数决定因素、地址总线、数据总线 1>CPU的位数由“算数逻辑单元”决定; 2>地址总线...

2016-08-22 17:37:25

阅读数 261

评论数 0

C语言基础知识总结

一.结构体定义的使用 1.struct node { int num; struct node *next; }; 此时定义node结构体变量时,必须写成struct node *nod; 2.typedef struct node { int num; struct node *next; }n...

2016-08-11 19:54:26

阅读数 3094

评论数 0

程序编译和链接原理理解

一、本书解决的问题 本书主要介绍系统软件的运行机制和原理,涉及在Windows和Linux两个系统平台下,一个应用程序在编译、链接、和运行时所做的事,具体如下: 1.Windows和Linux操作系统下各自的可执行文件、目标文件格式? 2.普通的C/C++程序代码如何编译成目标文件及程序的目标文件...

2016-08-11 19:51:46

阅读数 4371

评论数 0

Linux系统启动例程分析总结

Linux系统的了解包括系统的启动流程、文件系统的组成结构、基于动态库和静态库的程序在执行时的异同、协议栈的架构和原理、驱动程序的机制等等。    对于一台安装了Linux系统的主机来说,当用户按下开机按钮时,一共要经历以下几个过程,如图:      其中,每个过程都执行了自己该做的初始化部分的事...

2016-06-20 09:42:37

阅读数 252

评论数 0

文件系统分析总结

文件系统分析总结 一、 Linux文件分类 二、 文件存储结构  1、Linux正统的文件系统(如ext2、ext3)一个文件由目录项、inode和数据块组成,具体如下: 目录项:包括文件名和inode节点号; Inode :又称文件索引节点,包含文件的属性(如读写属性等,及指向数据块的指针)...

2016-06-19 16:09:24

阅读数 422

评论数 0

进程和线程的区别和联系

一、进程和线程分析 下面就两者的区别和联系分析如下:   进程 线程 定义 资源(CPU时间、内存等)分配的最小单位 程序执行的最小单位 区别 1.独立的地址空间,每创建一个进程,就会给改进程分配一个4G的虚拟内存空间; 2.进程是建立在虚拟内存的基础...

2016-06-08 15:25:06

阅读数 4648

评论数 2

存储管理分析总结

存储器管理分析总结 一、理解主存管理需要实现的功能 1、地址映射 1)定义:为了保证CPU执行指令时可正确访问存储单元,需将用户程序中的逻辑地址转换为运行时由机器直接寻址的物理地址,此过程即为地址映射。 2)地址映射分类: a. 静态重定位 当用户程序被装入内存时,一次性实现逻辑地址到物理地址的转...

2016-06-02 20:19:06

阅读数 735

评论数 0

UCOSii和Linux的区别和联系

UCOSii和Linux的区别和联系 想通过UCOSii来理解Linux的系统架构,故参考一些资料,简单整理了一下UCOSii和Linux的区别和联系,以此来更好的学习Linux。 其具体对比如下: OS 释义 UCOSii Linux OS定义 1.用户和计算机的接口; 2.也是...

2016-06-01 15:37:07

阅读数 9563

评论数 5

宏定义及使用分析

宏定义及使用分析 1、宏定义理解 1)表达形式:#define 标示符 字符串  2)宏定义是用宏名来表示一个字符串,是一种简单的代换,字符串中可以   含任何字符,可以是常数,也可以是表达式,预处理时不作任何检查,编译时才能查出错误。 3)宏定义不是说明或语句,在行末不需要加分号; ...

2016-05-28 16:37:58

阅读数 213

评论数 0

数据类型的分析理解

1、C和C++语言中基本的数据类型有:字符型(char),整形(short, int, long), 浮点型(float, double),其字节数也是有区别的,特别是int,其与系统有关,同时数据类型的字节数与unsigned和signed无关,其主要决定了数据类型的取值范围:   ...

2016-05-25 11:11:57

阅读数 201

评论数 0

字符串和数组的解析

1、字符串 1)定义:由数字、字母、下划线组成的一串字符,编程语言中表示文本的数据类型。通常以串的整体作为操作对象。 2)定义字符串的方式: a.通过字符数组来定义字符串"HelloWorld",数组中每个存储单元存放一个字符 char str1[] = "H...

2016-05-24 14:56:41

阅读数 1193

评论数 0

void 关键字解析

1、void关键字含义 void代表“无类型”,主要是对定义函数的参数类型、返回值,函数中指针类型进行声明。 其主要作用有一下两个: 1)对函数返回值的限定; 2)对函数参数的限定,特别注意:void *代表无类型指针,其可以指向任何类型的数据。 2、void的使用规则 1)如果函数...

2016-05-20 09:30:12

阅读数 1051

评论数 0

关于printf输出函数分析

关于printf输出函数分析

2016-05-16 14:52:51

阅读数 250

评论数 0

关于字节对齐的理解

关于字节对齐的理解 字节对其的目的就是用空间换时间,通过对齐字节来提高处理器取数据的速度。主要遵循以下两个主要原则即可: 1、结构体变量的首地址能够被其最宽基本类型成员的大小所整除; 2、结构体每个成员相对于结构体首地址的偏移量都是成员大小的整数倍,如有需要编译器会在成员之间加上填充字节。 ...

2016-05-14 12:50:51

阅读数 242

评论数 0

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