Summary Day30
1.内存管理
1.1 进程中的内存区域划分
代码区 仅仅读常理区 全局区 BSS 堆 栈
1.2 字符串存储形式之间的比較
字符指针,字符数组。字符动态内存
1.3 虚拟内存管理技术
Unix/Linux系统总的内存都是採用虚拟内存管理技术进行管理。即:每一个进程都有0~4G的内存地址
(虚拟的并非真实存在的),由操作系统负责把内存地址和真实的物理内存映射起来,因此,不同进程
的内存地址看起来是一样的,可是所相应的物理内存是不一样的。
用户空间 0~3G。 虚拟内核空间3~4G
1.4 段错误的由来
(1)scanf函数缺少 &
(2)空指针、野指针的使用
(3)师徒使用一个没有经过映射的虚拟地址可能引发段错误
1.5使用malloc申请动态内存的特性
须要额外的12个字节用于存储管理动态内存信息
採用链表的方式处理多个内存块
使用malloc千万不要越界
(2)使用malloc 申请内存的一般映射
一般说来。使用malloc申请较小的内存时,操作系统一次性分配33个内存页
#include <unistd.h>
getpid() 获取当前进程的进程号
cat / proc/ 进程号/maps 查看指定进程的内存分配情况
1.6使用free释放动态内存特性
1.7 内存处理相关函数
(1)getpagesize 函数
函数功能:
主要用于获取当前系统中一个内存页大小。一般为4kb
(2)sbrk函数
#inlcude <unistd.h>
void *sbrk(intptr_t increment);
(3)brk函数
int brk(void *addr);
sbrk 申请 brk 释放
Summary Day30的更多相关文章
- Summary of Critical and Exploitable iOS Vulnerabilities in 2016
Summary of Critical and Exploitable iOS Vulnerabilities in 2016 Author:Min (Spark) Zheng, Cererdlong ...
- 三个不常用的HTML元素:<details>、<summary>、<dialog>
前面的话 HTML5不仅新增了语义型区块级元素及表单类元素,也新增了一些其他的功能性元素,这些元素由于浏览器支持等各种原因,并没有被广泛使用 文档描述 <details>主要用于描述文档或 ...
- [LeetCode] Summary Ranges 总结区间
Given a sorted integer array without duplicates, return the summary of its ranges. For example, give ...
- Network Basic Commands Summary
Network Basic Commands Summary set or modify hostname a) temporary ways hostname NEW_HOSTNAME, b ...
- Summary - SNMP Tutorial
30.13 Summary Network management protocols allow a manager to monitor and control routers and hosts. ...
- Mac Brew Install Nginx Summary
==> Downloading https://homebrew.bintray.com/bottles/nginx-1.10.1.el_capitan.bot################# ...
- Leetcode: LFU Cache && Summary of various Sets: HashSet, TreeSet, LinkedHashSet
Design and implement a data structure for Least Frequently Used (LFU) cache. It should support the f ...
- How to add taxonomy element to a summary view?
[re: Orchard CMS] This caused me scratching my head for days and now I can even feel it's bleeding. ...
- (转) Summary of NIPS 2016
转自:http://blog.evjang.com/2017/01/nips2016.html Eric Jang Technology, A.I., Careers ...
随机推荐
- linux awk函数
这节详细介绍awk内置函数,主要分以下3种类似:算数函数.字符串函数.其它一般函数.时间函数 一.算术函数: 以下算术函数执行与 C 语言中名称相同的子例程相同的操作: 函数名 说明 atan2( y ...
- 03008_使用JDBC对分类表进行增删改查操作
1.创建数据库分类表 #创建数据库 create database mybase; #使用数据库 use dmybase; ###创建分类表 create table sort( sid int PR ...
- 洛谷 P2782 友好城市
P2782 友好城市 题目描述 有一条横贯东西的大河,河有笔直的南北两岸,岸上各有位置各不相同的N个城市.北岸的每个城市有且仅有一个友好城市在南岸,而且不同城市的友好城市不相同.每对友好城市都向政府申 ...
- JS-网页中分页栏
原理 三部分 我给分页栏分成了3部分 上一页:调用prePage()函数 下一页:调用nextPage()函数 带有数字标识的部,调用skipPage()函数 prePage函数 function p ...
- iOS -读书笔记-网络请求
知道"3次握手"吗?突然想起这个词 什么是3次握手? TCP三次握手/四次挥手详解 这里是3次握手的详解 3次握手就是为了可靠的传送数据,TCP(什么是TCP呢?TCP就是一种可靠 ...
- 简单的WINFORM窗口,体验WINFORM带来的快感
当习惯成为一种自然,就不再喜欢那种条条框框的规则 using System; using System.Windows.Forms; namespace Window{ class Window{ s ...
- thinkphp多层volist实现多表查询
thinkphp多层volist实现多表查询 一.总结 二.截图 三.代码 1.控制器 2.视图
- go 语言学习笔记 0001 --> iota
go语言中预置了一个预定义常量 iota 这个东西有个很奇怪的特性,会根据 const 关键字改变值 默认的,iota在const出现的时候会初始化为0,而后不断递加1,直到出现第二个const关键字 ...
- windows防火墙开放zabbix端口(批处理)
windows系统在防火墙开启的情况下,打开zabbix端口(10050与10051) 可以手动添加规则,也可以使用批处理生成. 一.下面先介绍批处理 netsh advfirewall firewa ...
- GeoServer 常见问题总结 (转)
geoserver在部署发布服务时,经常会遇到如下问题,现总结如下: 1.忘记了GeoServer Web Admin Page的登陆用户名和密码怎么办?存储位置:C:\Program Files\G ...