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 释放

时间: 2024-08-10 23:15:06

Summary Day30的相关文章

【HTML5】summary交互元素

1.源码 <!DOCTYPE HTML> <html> <head> <meta charset="UTF-8"/> <title>交互元素summary的使用</title> <style type="text/css"> body{ padding:5px; font-size:14px; } summary{ font-weight:bold; } </style>

HDU 4989 Summary(数学题暴力)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4989 Problem Description Small W is playing a summary game. Firstly, He takes N numbers. Secondly he takes out every pair of them and add this two numbers, thus he can get N*(N - 1)/2 new numbers. Thirdl

228. Summary Ranges

Given a sorted integer array without duplicates, return the summary of its ranges. For example, given [0,1,2,4,5,7], return ["0->2","4->5","7"]. 这个题目不难,首先对原序列进行排序,然后要注意对特殊情况的处理.同时,要掌握string类的几个重要成员函数: to_string():将数字转换为

Learning to Compare Image Patches via Convolutional Neural Networks --- Reading Summary

Learning to Compare Image Patches via Convolutional Neural Networks ---  Reading Summary 2017.03.08 Target: this paper attempt to learn a geneal similarity function for comparing image patches from image data directly. There are several ways in which

三个不常用的HTML元素:&lt;details&gt;、&lt;summary&gt;、&lt;dialog&gt;

前面的话 HTML5不仅新增了语义型区块级元素及表单类元素,也新增了一些其他的功能性元素,这些元素由于浏览器支持等各种原因,并没有被广泛使用 文档描述 <details>主要用于描述文档或文档某个部分的细节,与<summary>配合使用可以为<details>定义标题.标题是可见的,用户点击标题时,显示出details [注意]这两个标签只有chrome和opera支持 <details> 该标签仅有一个open属性,用来定义details是否可见(默认为不

[LeetCode]228.Summary Ranges

题目 Given a sorted integer array without duplicates, return the summary of its ranges. For example, given [0,1,2,4,5,7], return ["0->2","4->5","7"]. 代码 /*--------------------------------------- * 日期:2015-08-04 * 作者:SJF01

Java for LeetCode 228 Summary Ranges

Given a sorted integer array without duplicates, return the summary of its ranges. For example, given [0,1,2,4,5,7], return ["0->2","4->5","7"]. 解题思路: JAVA实现如下: public List<String> summaryRanges(int[] nums) { List

Summary Ranges —— LeetCode

Given a sorted integer array without duplicates, return the summary of its ranges. For example, given [0,1,2,4,5,7], return ["0->2","4->5","7"]. 题目大意:给一个有序数组,返回连续的区间范围. public class Solution { public List<String>

Summary: Binary Search

Iterative ways: 1 int binarySearch (int[] a, int x) { 2 int low = 0; 3 int high = a.length - 1; 4 int mid; 5 6 while (low <= high) { 7 mid = (low + high) / 2; 8 if (a[mid] < x) { 9 low = mid + 1; 10 } 11 else if (a[mid] > x) { 12 high = mid - 1;