
内存相关
文章平均质量分 56
焦三仙本仙
学无止境,共同进步
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
栈和堆--超级全方位解释
关于栈和堆的理解一直不是很理解,从上学的时候就迷茫,到现在还是挺困惑,在这里感谢网络力量的强大,这么多关于他们的解释。终于有些个了解,不过还有待于以后慢慢更深入领悟。一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(he原创 2012-12-05 10:54:31 · 1282 阅读 · 0 评论 -
New运算符的重载
首先我们要清楚,为什么我们要重载new,和delete了?这还不是指针造成的,确实指针是一件让人喜欢的东西,用起来如此让人喜欢,让人顺手。然而小程序我们完全可以避免内存泄露问题,大程序就不那么容易了,然而我们有一种特别好的方法可以跟踪我们new,和delete动作,找到未被释放的内存。办法是什么呢?微软给我们提供了一种很好的方法,那就是重载new,和delete。 在实现之前我原创 2014-01-16 15:32:07 · 9663 阅读 · 4 评论 -
函数多个返回值(返回多个参数/局部变量)通过双重指针来实现
测试用例:// DoublePTest.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include //malloc需要的头文件#include "cstring"//memset需要的头文件using namespace std;void Func(char** p){ *p = (char*)malloc(3)原创 2013-09-09 00:07:16 · 2904 阅读 · 0 评论 -
多进程间通信方式和多线程同步机制总结
文件映射:本地之间共享内存:本地之间匿名管道:本地之间命名管道:跨服务器邮件槽:剪切板:本地之间socket:跨服务器原创 2013-08-15 20:26:09 · 6683 阅读 · 0 评论 -
c++实现使用内存映射文件处理大文件
摘要:本文给出了一种方便实用的解决大文件的读取、存储等处理的方法,并结合相关程序代码对具体的实现过程进行了介绍。 引言 文件操作是应用程序最为基本的功能之一,Win32 API和MFC均提供有支持文件处理的函数和类,常用的有Win32 API的CreateFile()、WriteFile()、ReadFile()和MFC提供的CFile类等。一般来说,以上这些函数可以满足大多数原创 2013-03-25 15:49:18 · 3003 阅读 · 0 评论 -
动态连接库和静态连接库的区别
静态连接库: 简介: 静态连接就是,使用普通的函数库,在程序连接时将库中的代码拷贝到可执行文件中。 存在问题:假设有多个程序同时执行,并且同时调用了同一个库文件,这是内存中就会保留着许多重复的代码副本。造成内存浪费。 出现现象:出现警告对话框:“系统资源不足,请关闭部分Wind原创 2013-01-21 18:21:57 · 1594 阅读 · 0 评论 -
c++中"指针"终结理解
我们可以对指针这样定义:通过指针中存放的首地址,应用程序顺利地找到某个变量。就好像我最近认识了一位朋友,他叫我有空去他家坐坐,然后,他留下了地址。某个周末我正闲着,忽然想起这位朋友,于是,我就根据他留的地址去找他,结果,当我来到傻B街230号出租房时,里面走出一个我不认识的人,于是,我问他我这位朋友去哪了,陌生人说,我刚租了这房子,你找的可能是前一位租户吧。所以,指针所指向的地址,有可能是原创 2013-01-18 15:30:25 · 1401 阅读 · 0 评论 -
C/C++编译的程序占用的内存情况详细解析
一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 堆(heap):由malloc,new等分配的空间的地址,地址由低向高增长(程序员释放)。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收。注意它转载 2013-01-09 11:10:12 · 3274 阅读 · 0 评论 -
CPU、内存和硬盘到对什么关系
CPU: 相当于电脑的心脏,负责数据分析和计算,接收和发送指令,并且为计算机各硬件提供一个同步时钟,有了这个同步时钟计算机的各个硬件才会有条不紊的工作。内存: 相当于工作间,计算机要使用的数据都临时存放在这个工作间里硬盘: 相当于仓库,软件相当于大脑。 cpu 是逻辑模块 内存是负责存cpu 运算时用的原创 2012-11-30 17:18:26 · 1661 阅读 · 0 评论 -
内存问题初涉
今天需要测试内存占满是会发生什么情况。测试简单程序 //char * Sort1 = (char*)malloc (sizeof(char)* (5*1024*1024*1024)); char * Sort = new char[1024*1024*1024]; //申请内存1G char * Sort1 = new char[1024*1024*1024]; getch();原创 2012-11-09 16:45:07 · 1108 阅读 · 2 评论 -
内存和内存地址通俗理解
内存 : 程序和数据平常存储在硬盘(硬盘是一种可记忆盘)等存储器上,不管你开机或关机了,它们都是存在的,不会丢失。硬盘可以存储的东西很多,但其传输数据的速度较慢。所以需要运行程序或打开数据时,这些数据必须从硬盘等存储器上先传到另一种容量小但速度快得多的存储器(无记忆盘),之后才送入CPU进行执行处理。这中间的存储器就是内存。 每个数据,都需要在内存上有其映射原创 2012-11-15 11:23:05 · 11201 阅读 · 1 评论 -
c++内存泄露之重载new运算符
C++程序的复杂性很大一部分在于他的内存管理,没有C#那样的垃圾回收机制,内存管理对初学者来说很困难。经常会出现内存泄露的情况。那么我们写程序如何避免内存泄露呢?首先我们需要知道程序有没有内存泄露,然后定位到底是哪行代码出现内存泄露了,这样才能将其修复。 本文描述了如何检测内存泄露。最主要的是纯C,C++的程序如何检测内存泄露。现在有很多专业的检测工具,比如比较有名的BoundsCh原创 2015-02-13 17:09:39 · 1373 阅读 · 0 评论