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的更多相关文章

  1. Summary of Critical and Exploitable iOS Vulnerabilities in 2016

    Summary of Critical and Exploitable iOS Vulnerabilities in 2016 Author:Min (Spark) Zheng, Cererdlong ...

  2. 三个不常用的HTML元素:<details>、<summary>、<dialog>

    前面的话 HTML5不仅新增了语义型区块级元素及表单类元素,也新增了一些其他的功能性元素,这些元素由于浏览器支持等各种原因,并没有被广泛使用 文档描述 <details>主要用于描述文档或 ...

  3. [LeetCode] Summary Ranges 总结区间

    Given a sorted integer array without duplicates, return the summary of its ranges. For example, give ...

  4. Network Basic Commands Summary

    Network Basic Commands Summary set or modify hostname a)     temporary ways hostname NEW_HOSTNAME, b ...

  5. Summary - SNMP Tutorial

    30.13 Summary Network management protocols allow a manager to monitor and control routers and hosts. ...

  6. Mac Brew Install Nginx Summary

    ==> Downloading https://homebrew.bintray.com/bottles/nginx-1.10.1.el_capitan.bot################# ...

  7. 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 ...

  8. 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. ...

  9. (转) Summary of NIPS 2016

    转自:http://blog.evjang.com/2017/01/nips2016.html           Eric Jang Technology, A.I., Careers       ...

随机推荐

  1. 浏览器加载渲染HTML、DOM、CSS、 JAVASCRIPT、IMAGE、FLASH、IFRAME、SRC属性等资源的顺序总结

    页面响应加载的顺序:   1.域名解析->加载html->加载js和css->加载图片等其他信息 DOM详细的步骤如下: 解析HTML结构. 加载外部脚本和样式表文件. 解析并执行脚 ...

  2. java种instanceof方法和getclass方法的区别

    在比较一个类是否和另一个类属于同一个类实例的时候,我们通常可以采用instanceof和getClass两种方法通过两者是否相等来判断,但是两者在判断上面是有差别的,下面写个测试类. public c ...

  3. Vue给元素添加样式

    Vue中使用样式 绑定css 数组 <style> .red{ color:red } .thin{ font-size:18px } </style> <h1 :cla ...

  4. docker部署mysql 实现远程连接

    1. docker search mysql    # 查看mysql版本 2. docker pull mysql:5.7   # 拉取mysql 5.7 3. docker images  # 查 ...

  5. UVALive 5292 Critical Links

    Critical Links Time Limit: 3000ms Memory Limit: 131072KB This problem will be judged on UVALive. Ori ...

  6. POJ——T 3461 Oulipo

    http://poj.org/problem?id=3461 Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 42698   ...

  7. chrome模拟手机功能

    在搭建好web側环境之后.能够使用chrome来模拟手机的功能 直接上图吧: 图1是直接模拟一个通用的界面 图2里面能够选择不同的手机型号,还是比較全的! 选择一个查看一下,和手机是一样的效果,非常赞 ...

  8. metadata 和 routing

    虽然在刚开始源码概述时把代码分为分布式和数据两部分,但是它们的界限并不明显.之前这几篇可以说是这两部分的衔接.我们在快速接近数据(index)部分.本篇分析一下之前分析cluster遗留下的问题:Me ...

  9. Day2二分图笔记

    定义 左边一堆点 右边一堆点 树是一个二分图,奇数深度和偶数深度可以组成二分图, 二分图匹配 左边的点和右边的点有边 匈牙利算法 可能的答案 ans,n-ans,m-ans,n+m-ans  ||   ...

  10. Tuple<int, int> Dictionary<string, object>妙用

    Tuple<int, int> Dictionary<string, object>妙用