读书人

怎么将new出来的内存块保存上来

发布时间: 2013-01-07 10:02:25 作者: rapoo

如何将new出来的内存块保存下来
比如说
char* bolck = new char[1000000];
//分配内存数据
我想在下次启动程序的时候还能够找到这块内存,并可以使用该内存块内已经分配好的数据,其实就是保存和读入的功能,但我希望是最简单的方式 谢谢
[解决办法]
不可能吧
进程退出后 后释放进程分配的资源

[解决办法]
退出前先把数据写入文件,启动后再从文件中吧数据读取出来,操作的对象是数据而不是内存。
[解决办法]
利用序列化。
[解决办法]
只能保存数据。不能保存内存块。程序退出后分配的内存是会被系统回收的
[解决办法]
进程退出之后,即使自己没有delete,内存也会被回收。
可以把数据保存到文件或者数据库中。
[解决办法]
退出程序,内存应该被回收了吧。
[解决办法]
可以让另一个不退出的进程给你把守一块内存,这样你的进程就只需去找这块内存
[解决办法]
第一种是将内存的内容保存下来,即写文件,下次启动时重新分配内存并读文件,当然内存不一定是那块内存,但是内容是一样的。
第二种是写个服务,这个服务不关闭,并且开辟一块共享内存,你的程序每次启动时获取这块共享内存。

[解决办法]
建议你可以考虑文件映射
[解决办法]
f=fopen(...,"wb");
fwrite
fclose

f=fopen(...,"rb");
fread
fclose



[解决办法]
用剪切板可以做到。当然如果中间需要干别的事情,就写一个文件,用的时候再读出来。
[解决办法]

引用:
建议你可以考虑文件映射


利用文件映射是可以实现的,分配的内存在系统中永久驻留(主要不主动释放)

读书人网 >C++

热点推荐