当前位置: 首页 > news >正文

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

相关文章:

  • 切记切记:Spring配置文件中,Component-scan无法扫描到的类中的自动装配对象无法被调用,报空指针错误。...
  • GLide加载图片还能这样干——基于Glide4.0完美封装
  • “朋友仅展示最近三天的朋友圈”的背后
  • WCF学习之: IsInitiating 和 IsTerminating
  • 数据结构与算法总结
  • Server.MapPath的用法
  • Zabbix 3.2.6监控虚拟机VMware
  • 01_04_Linux操作系统基础
  • Integer 内部缓存
  • [AS3]URLLoader+URLRequest+JPGEncoder实现BitmapData图片数据保存
  • Mysql性能基本测试
  • [Flex][问题笔记]TextArea滚动条问题
  • 逆向输出回环数组
  • 最近忙死了。。。
  • Caffe+Windows 环境搭建收集
  • 分享一款快速APP功能测试工具
  • Angular数据绑定机制
  • Golang-长连接-状态推送
  • php的插入排序,通过双层for循环
  • Vue组件定义
  • 电商搜索引擎的架构设计和性能优化
  • 机器学习 vs. 深度学习
  • 如何选择开源的机器学习框架?
  • 三栏布局总结
  • (2)(2.4) TerraRanger Tower/Tower EVO(360度)
  • (C++20) consteval立即函数
  • (Matalb时序预测)WOA-BP鲸鱼算法优化BP神经网络的多维时序回归预测
  • (八)c52学习之旅-中断实验
  • (八)Flask之app.route装饰器函数的参数
  • (草履虫都可以看懂的)PyQt子窗口向主窗口传递参数,主窗口接收子窗口信号、参数。
  • (第61天)多租户架构(CDB/PDB)
  • (翻译)terry crowley: 写给程序员
  • (官网安装) 基于CentOS 7安装MangoDB和MangoDB Shell
  • (免费领源码)python+django+mysql线上兼职平台系统83320-计算机毕业设计项目选题推荐
  • (详细版)Vary: Scaling up the Vision Vocabulary for Large Vision-Language Models
  • (原創) X61用戶,小心你的上蓋!! (NB) (ThinkPad) (X61)
  • **PyTorch月学习计划 - 第一周;第6-7天: 自动梯度(Autograd)**
  • .Net Web项目创建比较不错的参考文章
  • .NET 材料检测系统崩溃分析
  • .NET 中各种混淆(Obfuscation)的含义、原理、实际效果和不同级别的差异(使用 SmartAssembly)
  • .NET开发者必备的11款免费工具
  • .Net下使用 Geb.Video.FFMPEG 操作视频文件
  • .NET学习教程二——.net基础定义+VS常用设置
  • .Net中的集合
  • .Net转前端开发-启航篇,如何定制博客园主题
  • @data注解_SpringBoot 使用WebSocket打造在线聊天室(基于注解)
  • [ CTF ] WriteUp-2022年春秋杯网络安全联赛-冬季赛
  • [20160807][系统设计的三次迭代]
  • [20171106]配置客户端连接注意.txt
  • [ACM] hdu 1201 18岁生日
  • [c++] 什么是平凡类型,标准布局类型,POD类型,聚合体
  • [FT]chatglm2微调
  • [nlp] id2str的vocab.json转换为str2id
  • [puppet]如何设置全局exec path
  • [Python] Ubuntu12.04LTS