您好、欢迎来到现金彩票网!
当前位置:盛通彩票app下载 > 根编译程序 >

C++ 编译程序内存过大

发布时间:2019-07-03 20:42 来源:未知 编辑:admin

  程序中需要处理这两个动态矩阵间的运算,但是在调试的时候内存占用量过大,用windos的任务管理器查看,占用了1,221,5880k,导致程序运行不下去,请问有什么解决办法?

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  展开全部调用函数时,尽量用“引用传递”作为参数, 而不是直接把矩阵本身作为参数传进去,这样在内存中只有一个 P 和 Q的拷贝。

  另外,看得出,这两个矩阵光存一份就已经很大了。如果连把它们读入到内存里都没办法的话,就最好考虑给自己的机器加内存条了。

  不增加内存,那么降低存储空间的需求,就得增加时间复杂度。你可以把矩阵存储在多个硬盘文件里,这样每次读一部分到内存然后处理一些,存回去。最后再一点点拼出来最后结果。追问请问有增加时间复杂度的存储例子么,这么看的话不是太明白怎么处理。存在多个硬盘文件里是什么意思?追答关于存储,可以参考外部排序

  比如乘法时,结果矩阵中的一项并不依赖于两个参与乘法的矩阵的每一项,而只是一行、一列。极端点来说,这样就可以每次只把一行一列读入内存,算出结果,存到硬盘上,再读入新的一行,一列。每一行,每一列都可以存成一个文件。(当然,这样太碎了,你可以考虑存更大的子矩阵)

http://dora6.net/genbianyichengxu/621.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有